functor (P : Eliom_registration_sigs.APP_PARAM->
  sig
    val application_name : string
    type app_id
    type page = Html_types.html Eliom_content.Html.elt
    type options = appl_service_options
    type return = Eliom_service.non_ocaml
    type result = app_id application_content kind
    val register :
      ?app:string ->
      ?scope:[< Eliom_common.scope ] ->
      ?options:options ->
      ?charset:string ->
      ?code:int ->
      ?content_type:string ->
      ?headers:Cohttp.Header.t ->
      ?secure_session:bool ->
      service:('get, 'post, 'a, 'b, 'c, Eliom_service.non_ext,
               Eliom_service.reg, [< `WithSuffix | `WithoutSuffix ], 'd, 'e,
               return)
              Eliom_service.t ->
      ?error_handler:((string * exn) list -> page Lwt.t) ->
      ('get -> 'post -> page Lwt.t) -> unit
    val send :
      ?options:options ->
      ?charset:string ->
      ?code:int ->
      ?content_type:string ->
      ?headers:Cohttp.Header.t -> page -> result Lwt.t
  end