functor (Pages : FORMCREATE->
  sig
    type form_content_elt = Pages.form_content_elt
    type form_content_elt_list = Pages.form_content_elt_list
    type form_elt = Pages.form_elt
    type a_content_elt = Pages.a_content_elt
    type a_content_elt_list = Pages.a_content_elt_list
    type a_elt = Pages.a_elt
    type a_elt_list = Pages.a_elt_list
    type div_content_elt = Pages.div_content_elt
    type div_content_elt_list = Pages.div_content_elt_list
    type uri = Pages.uri
    type link_elt = Pages.link_elt
    type script_elt = Pages.script_elt
    type textarea_elt = Pages.textarea_elt
    type input_elt = Pages.input_elt
    type pcdata_elt = Pages.pcdata_elt
    type select_elt = Pages.select_elt
    type select_content_elt = Pages.select_content_elt
    type select_content_elt_list = Pages.select_content_elt_list
    type option_elt = Pages.option_elt
    type option_elt_list = Pages.option_elt_list
    type button_elt = Pages.button_elt
    type button_content_elt = Pages.button_content_elt
    type button_content_elt_list = Pages.button_content_elt_list
    type a_attrib_t = Pages.a_attrib_t
    type form_attrib_t = Pages.form_attrib_t
    type input_attrib_t = Pages.input_attrib_t
    type textarea_attrib_t = Pages.textarea_attrib_t
    type select_attrib_t = Pages.select_attrib_t
    type link_attrib_t = Pages.link_attrib_t
    type script_attrib_t = Pages.script_attrib_t
    type optgroup_attrib_t = Pages.optgroup_attrib_t
    type option_attrib_t = Pages.option_attrib_t
    type button_attrib_t = Pages.button_attrib_t
    type input_type_t = Pages.input_type_t
    type button_type_t = Pages.button_type_t
    val make_string_uri :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      service:('a, unit, [< Eliom_services.get_service_kind ],
               [< Eliom_services.suff ], 'b, unit,
               [< Eliom_services.registrable ])
              Eliom_services.service ->
      sp:Eliom_sessions.server_params ->
      ?hostname:string ->
      ?port:int ->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set -> '-> string
    val make_uri :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      service:('a, unit, [< Eliom_services.get_service_kind ],
               [< Eliom_services.suff ], 'b, unit,
               [< Eliom_services.registrable ])
              Eliom_services.service ->
      sp:Eliom_sessions.server_params ->
      ?hostname:string ->
      ?port:int ->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set -> '-> uri
    val make_uri_components :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      service:('a, unit, [< Eliom_services.get_service_kind ],
               [< Eliom_services.suff ], 'b, unit,
               [< Eliom_services.registrable ])
              Eliom_services.service ->
      sp:Eliom_sessions.server_params ->
      ?hostname:string ->
      ?port:int ->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      '-> string * (string * string) list * string option
    val make_post_uri_components :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      service:('a, 'b, [< Eliom_services.post_service_kind ],
               [< Eliom_services.suff ], 'c, 'd,
               [< Eliom_services.registrable ])
              Eliom_services.service ->
      sp:Eliom_sessions.server_params ->
      ?hostname:string ->
      ?port:int ->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      ?keep_get_na_params:bool ->
      '->
      '->
      string * (string * string) list * string option *
      (string * string) list
    val make_proto_prefix :
      sp:Eliom_sessions.server_params ->
      ?hostname:string -> ?port:int -> bool -> string
    val a :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      ?a:a_attrib_t ->
      service:('a, unit, [< Eliom_services.get_service_kind ],
               [< Eliom_services.suff ], 'b, 'c,
               [< Eliom_services.registrable ])
              Eliom_services.service ->
      sp:Eliom_sessions.server_params ->
      ?hostname:string ->
      ?port:int ->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      a_content_elt_list ordsign">->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      ?keep_get_na_params:bool ->
      '->
      '->
      string * (string * string) list * string option *
      (string * string) list
    val make_proto_prefix :
      sp:Eliom_sessions.server_params ->
      ?hostname:string -> ?port:int -> bool -> string
    val a :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      ?a:a_attrib_t ->
      service:('a, unit, [< Eliom_services.get_service_kind ],
               [< Eliom_services.suff ], 'b, 'c,
               [< Eliom_services.registrable ])
              Eliom_services.service ->
      sp:Eliom_sessions.server_params ->
      ?hostname:string ->
      ?port:int ->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      a_content_elt_list ordsign">->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      ?keep_get_na_params:bool ->
      '->
      '->
      string * (string * string) list * string option *
      (string * string) list
    val make_proto_prefix :
      sp:Eliom_sessions.server_params ->
      ?hostname:string -> ?port:int -> bool -> string
    val a :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      ?a:a_attrib_t ->
      service:('a, unit, [< Eliom_services.get_service_kind ],
               [< Eliom_services.suff ], 'b, 'c,
               [< Eliom_services.registrable ])
              Eliom_services.service ->
      sp:Eliom_sessions.server_params ->
      ?hostname:string ->
      ?port:int ->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      a_content_elt_list ordsign">->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      ?keep_get_na_params:bool ->
      '->
      '->
      string * (string * string) list * string option *
      (string * string) list
    val make_proto_prefix :
      sp:Eliom_sessions.server_params ->
      ?hostname:string -> ?port:int -> bool -> string
    val a :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      ?a:a_attrib_t ->
      service:('a, unit, [< Eliom_services.get_service_kind ],
               [< Eliom_services.suff ], 'b, 'c,
               [< Eliom_services.registrable ])
              Eliom_services.service ->
      sp:Eliom_sessions.server_params ->
      ?hostname:string ->
      ?port:int ->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      a_content_elt_list ordsign">->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      ?keep_get_na_params:bool ->
      '->
      '->
      string * (string * string) list * string option *
      (string * string) list
    val make_proto_prefix :
      sp:Eliom_sessions.server_params ->
      ?hostname:string -> ?port:int -> bool -> string
    val a :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      ?a:a_attrib_t ->
      service:('a, unit, [< Eliom_services.get_service_kind ],
               [< Eliom_services.suff ], 'b, 'c,
               [< Eliom_services.registrable ])
              Eliom_services.service ->
      sp:Eliom_sessions.server_params ->
      ?hostname:string ->
      ?port:int ->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      a_content_elt_list ordsign">->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      ?keep_get_na_params:bool ->
      '->
      '->
      string * (string * string) list * string option *
      (string * string) list
    val make_proto_prefix :
      sp:Eliom_sessions.server_params ->
      ?hostname:string -> ?port:int -> bool -> string
    val a :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      ?a:a_attrib_t ->
      service:('a, unit, [< Eliom_services.get_service_kind ],
               [< Eliom_services.suff ], 'b, 'c,
               [< Eliom_services.registrable ])
              Eliom_services.service ->
      sp:Eliom_sessions.server_params ->
      ?hostname:string ->
      ?port:int ->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      a_content_elt_list ordsign">->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      ?keep_get_na_params:bool ->
      '->
      '->
      string * (string * string) list * string option *
      (string * string) list
    val make_proto_prefix :
      sp:Eliom_sessions.server_params ->
      ?hostname:string -> ?port:int -> bool -> string
    val a :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      ?a:a_attrib_t ->
      service:('a, unit, [< Eliom_services.get_service_kind ],
               [< Eliom_services.suff ], 'b, 'c,
               [< Eliom_services.registrable ])
              Eliom_services.service ->
      sp:Eliom_sessions.server_params ->
      ?hostname:string ->
      ?port:int ->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      a_content_elt_list ordsign">->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      ?keep_get_na_params:bool ->
      '->
      '->
      string * (string * string) list * string option *
      (string * string) list
    val make_proto_prefix :
      sp:Eliom_sessions.server_params ->
      ?hostname:string -> ?port:int -> bool -> string
    val a :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      ?a:a_attrib_t ->
      service:('a, unit, [< Eliom_services.get_service_kind ],
               [< Eliom_services.suff ], 'b, 'c,
               [< Eliom_services.registrable ])
              Eliom_services.service ->
      sp:Eliom_sessions.server_params ->
      ?hostname:string ->
      ?port:int ->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      a_content_elt_list ordsign">->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      ?keep_get_na_params:bool ->
      '->
      '->
      string * (string * string) list * string option *
      (string * string) list
    val make_proto_prefix :
      sp:Eliom_sessions.server_params ->
      ?hostname:string -> ?port:int -> bool -> string
    val a :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      ?a:a_attrib_t ->
      service:('a, unit, [< Eliom_services.get_service_kind ],
               [< Eliom_services.suff ], 'b, 'c,
               [< Eliom_services.registrable ])
              Eliom_services.service ->
      sp:Eliom_sessions.server_params ->
      ?hostname:string ->
      ?port:int ->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      a_content_elt_list ordsign">->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      ?keep_get_na_params:bool ->
      '->
      '->
      string * (string * string) list * string option *
      (string * string) list
    val make_proto_prefix :
      sp:Eliom_sessions.server_params ->
      ?hostname:string -> ?port:int -> bool -> string
    val a :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      ?a:a_attrib_t ->
      service:('a, unit, [< Eliom_services.get_service_kind ],
               [< Eliom_services.suff ], 'b, 'c,
               [< Eliom_services.registrable ])
              Eliom_services.service ->
      sp:Eliom_sessions.server_params ->
      ?hostname:string ->
      ?port:int ->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      a_content_elt_list ordsign">->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      ?keep_get_na_params:bool ->
      '->
      '->
      string * (string * string) list * string option *
      (string * string) list
    val make_proto_prefix :
      sp:Eliom_sessions.server_params ->
      ?hostname:string -> ?port:int -> bool -> string
    val a :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      ?a:a_attrib_t ->
      service:('a, unit, [< Eliom_services.get_service_kind ],
               [< Eliom_services.suff ], 'b, 'c,
               [< Eliom_services.registrable ])
              Eliom_services.service ->
      sp:Eliom_sessions.server_params ->
      ?hostname:string ->
      ?port:int ->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      a_content_elt_list ordsign">->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      ?keep_get_na_params:bool ->
      '->
      '->
      string * (string * string) list * string option *
      (string * string) list
    val make_proto_prefix :
      sp:Eliom_sessions.server_params ->
      ?hostname:string -> ?port:int -> bool -> string
    val a :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      ?a:a_attrib_t ->
      service:('a, unit, [< Eliom_services.get_service_kind ],
               [< Eliom_services.suff ], 'b, 'c,
               [< Eliom_services.registrable ])
              Eliom_services.service ->
      sp:Eliom_sessions.server_params ->
      ?hostname:string ->
      ?port:int ->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      a_content_elt_list ordsign">->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      ?keep_get_na_params:bool ->
      '->
      '->
      string * (string * string) list * string option *
      (string * string) list
    val make_proto_prefix :
      sp:Eliom_sessions.server_params ->
      ?hostname:string -> ?port:int -> bool -> string
    val a :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      ?a:a_attrib_t ->
      service:('a, unit, [< Eliom_services.get_service_kind ],
               [< Eliom_services.suff ], 'b, 'c,
               [< Eliom_services.registrable ])
              Eliom_services.service ->
      sp:Eliom_sessions.server_params ->
      ?hostname:string ->
      ?port:int ->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      a_content_elt_list ordsign">->
      ?fragment:string ->
      ?keep_nl_params:[ `All | `None | `Persistent ] ->
      ?nl_params:Eliom_parameters.nl_params_set ->
      ?keep_get_na_params:bool ->
      '->
      '->
      string * (string * string) list * string option *
      (string * string) list
    val make_proto_prefix :
      sp:Eliom_sessions.server_params ->
      ?hostname:string -> ?port:int -> bool -> string
    val a :
      ?absolute:bool ->
      ?absolute_path:bool ->
      ?https:bool ->
      ?a:a_attrib_t ->
      service:('a, unit, [< Eliom_services.get_service_kind ],
               [< Eliom_services.suff ], 'b, '<