sig
  module type FORMS_PARAM =
    sig
      type uri
      type pcdata_elt
      type form_elt
      type form_content_elt
      type form_content_elt_list
      type form_attrib_t
      type 'a a_elt
      type 'a a_elt_list
      type 'a a_content_elt
      type 'a a_content_elt_list
      type a_attrib_t
      type link_elt
      type link_attrib_t
      type script_elt
      type script_attrib_t
      type textarea_elt
      type textarea_attrib_t
      type input_elt
      type input_attrib_t
      val a_input_required :
        [ `Required ] -> Eliom_mkforms.FORMS_PARAM.input_attrib_t
      val input_attrib_append :
        Eliom_mkforms.FORMS_PARAM.input_attrib_t ->
        Eliom_mkforms.FORMS_PARAM.input_attrib_t ->
        Eliom_mkforms.FORMS_PARAM.input_attrib_t
      type select_elt
      type select_content_elt
      type select_content_elt_list
      val select_content_cons :
        Eliom_mkforms.FORMS_PARAM.select_content_elt ->
        Eliom_mkforms.FORMS_PARAM.select_content_elt_list ->
        Eliom_mkforms.FORMS_PARAM.select_content_elt_list
      type select_attrib_t
      val a_select_required :
        [ `Required ] -> Eliom_mkforms.FORMS_PARAM.select_attrib_t
      val select_attrib_append :
        Eliom_mkforms.FORMS_PARAM.select_attrib_t ->
        Eliom_mkforms.FORMS_PARAM.select_attrib_t ->
        Eliom_mkforms.FORMS_PARAM.select_attrib_t
      type button_elt
      type button_content_elt
      type button_content_elt_list
      type button_attrib_t
      type option_elt
      type option_elt_list
      type optgroup_attrib_t
      type option_attrib_t
      type input_type_t
      type button_type_t
      type for_attrib
      val hidden : Eliom_mkforms.FORMS_PARAM.input_type_t
      val checkbox : Eliom_mkforms.FORMS_PARAM.input_type_t
      val radio : Eliom_mkforms.FORMS_PARAM.input_type_t
      val submit : Eliom_mkforms.FORMS_PARAM.input_type_t
      val file : Eliom_mkforms.FORMS_PARAM.input_type_t
      val image : Eliom_mkforms.FORMS_PARAM.input_type_t
      val buttonsubmit : Eliom_mkforms.FORMS_PARAM.button_type_t
      val empty_seq : Eliom_mkforms.FORMS_PARAM.form_content_elt_list
      val map_option :
        ('-> Eliom_mkforms.FORMS_PARAM.option_elt) ->
        'a list -> Eliom_mkforms.FORMS_PARAM.option_elt_list
      val map_optgroup :
        ('-> Eliom_mkforms.FORMS_PARAM.select_content_elt) ->
        '->
        'a list ->
        Eliom_mkforms.FORMS_PARAM.select_content_elt *
        Eliom_mkforms.FORMS_PARAM.select_content_elt_list
      val select_content_of_option :
        Eliom_mkforms.FORMS_PARAM.option_elt ->
        Eliom_mkforms.FORMS_PARAM.select_content_elt
      val make_pcdata : string -> Eliom_mkforms.FORMS_PARAM.pcdata_elt
      val make_a :
        ?a:Eliom_mkforms.FORMS_PARAM.a_attrib_t ->
        ?href:Eliom_mkforms.FORMS_PARAM.uri ->
        'Eliom_mkforms.FORMS_PARAM.a_content_elt_list ->
        'Eliom_mkforms.FORMS_PARAM.a_elt
      val make_get_form :
        ?a:Eliom_mkforms.FORMS_PARAM.form_attrib_t ->
        action:Eliom_mkforms.FORMS_PARAM.uri ->
        Eliom_mkforms.FORMS_PARAM.form_content_elt_list Eliom_lazy.request ->
        Eliom_mkforms.FORMS_PARAM.form_elt
      val make_post_form :
        ?a:Eliom_mkforms.FORMS_PARAM.form_attrib_t ->
        action:Eliom_mkforms.FORMS_PARAM.uri ->
        ?id:string ->
        ?inline:bool ->
        Eliom_mkforms.FORMS_PARAM.form_content_elt_list Eliom_lazy.request ->
        Eliom_mkforms.FORMS_PARAM.form_elt
      val cons_hidden_fieldset :
        Eliom_mkforms.FORMS_PARAM.input_elt list ->
        Eliom_mkforms.FORMS_PARAM.form_content_elt_list ->
        Eliom_mkforms.FORMS_PARAM.form_content_elt_list
      val make_input :
        ?a:Eliom_mkforms.FORMS_PARAM.input_attrib_t ->
        ?checked:bool ->
        typ:Eliom_mkforms.FORMS_PARAM.input_type_t ->
        ?name:string ->
        ?src:Eliom_mkforms.FORMS_PARAM.uri ->
        ?value:string -> unit -> Eliom_mkforms.FORMS_PARAM.input_elt
      val make_button :
        ?a:Eliom_mkforms.FORMS_PARAM.button_attrib_t ->
        button_type:Eliom_mkforms.FORMS_PARAM.button_type_t ->
        ?name:string ->
        ?value:string ->
        Eliom_mkforms.FORMS_PARAM.button_content_elt_list ->
        Eliom_mkforms.FORMS_PARAM.button_elt
      val make_textarea :
        ?a:Eliom_mkforms.FORMS_PARAM.textarea_attrib_t ->
        name:string ->
        ?value:string -> unit -> Eliom_mkforms.FORMS_PARAM.textarea_elt
      val make_select :
        ?a:Eliom_mkforms.FORMS_PARAM.select_attrib_t ->
        multiple:bool ->
        name:string ->
        Eliom_mkforms.FORMS_PARAM.select_content_elt ->
        Eliom_mkforms.FORMS_PARAM.select_content_elt_list ->
        Eliom_mkforms.FORMS_PARAM.select_elt
      val make_option :
        ?a:Eliom_mkforms.FORMS_PARAM.option_attrib_t ->
        selected:bool ->
        ?value:string ->
        Eliom_mkforms.FORMS_PARAM.pcdata_elt ->
        Eliom_mkforms.FORMS_PARAM.option_elt
      val make_optgroup :
        ?a:Eliom_mkforms.FORMS_PARAM.optgroup_attrib_t ->
        label:string ->
        Eliom_mkforms.FORMS_PARAM.option_elt ->
        Eliom_mkforms.FORMS_PARAM.option_elt_list ->
        Eliom_mkforms.FORMS_PARAM.select_content_elt
      val uri_of_string : (unit -> string) -> Eliom_mkforms.FORMS_PARAM.uri
      val make_css_link :
        ?a:Eliom_mkforms.FORMS_PARAM.link_attrib_t ->
        uri:Eliom_mkforms.FORMS_PARAM.uri ->
        unit -> Eliom_mkforms.FORMS_PARAM.link_elt
      val make_js_script :
        ?a:Eliom_mkforms.FORMS_PARAM.script_attrib_t ->
        uri:Eliom_mkforms.FORMS_PARAM.uri ->
        unit -> Eliom_mkforms.FORMS_PARAM.script_elt
      val make_for_attrib : string -> Eliom_mkforms.FORMS_PARAM.for_attrib
    end
  module MakeForms :
    functor (Pages : FORMS_PARAM->
      sig
        type uri = Pages.uri
        val make_uri :
          ?absolute:bool ->
          ?absolute_path:bool ->
          ?https:bool ->
          service:('get, unit, [< Eliom_service.get_service_kind ],
                   [< Eliom_service.attached ],
                   [< Eliom_service.service_kind ], [< Eliom_service.suff ],
                   'gn, unit, [< Eliom_service.registrable ], 'return)
                  Eliom_service.service ->
          ?hostname:string ->
          ?port:int ->
          ?fragment:string ->
          ?keep_nl_params:[ `All | `None | `Persistent ] ->
          ?nl_params:Eliom_parameter.nl_params_set -> 'get -> Pages.uri
        val make_string_uri :
          ?absolute:bool ->
          ?absolute_path:bool ->
          ?https:bool ->
          service:('get, unit, [< Eliom_service.get_service_kind ],
                   [< Eliom_service.attached ],
                   [< Eliom_service.service_kind ], [< Eliom_service.suff ],
                   'gn, unit, [< Eliom_service.registrable ], 'return)
                  Eliom_service.service ->
          ?hostname:string ->
          ?port:int ->
          ?fragment:string ->
          ?keep_nl_params:[ `All | `None | `Persistent ] ->
          ?nl_params:Eliom_parameter.nl_params_set -> 'get -> string
        val uri_of_string : (unit -> string) -> Pages.uri
        val make_uri_components :
          ?absolute:bool ->
          ?absolute_path:bool ->
          ?https:bool ->
          service:('get, unit, [< Eliom_service.get_service_kind ],
                   [< Eliom_service.attached ],
                   [< Eliom_service.service_kind ], [< Eliom_service.suff ],
                   'gn, unit, [< Eliom_service.registrable ], 'return)
                  Eliom_service.service ->
          ?hostname:string ->
          ?port:int ->
          ?fragment:string ->
          ?keep_nl_params:[ `All | `None | `Persistent ] ->
          ?nl_params:Eliom_parameter.nl_params_set ->
          'get ->
          string * (string * Eliommod_parameters.param) list * string option
        val make_post_uri_components :
          ?absolute:bool ->
          ?absolute_path:bool ->
          ?https:bool ->
          service:('get, 'post, [< Eliom_service.post_service_kind ],
                   [< Eliom_service.attached ],
                   [< Eliom_service.service_kind ], [< Eliom_service.suff ],
                   'gn, 'pn, [< Eliom_service.registrable ], 'return)
                  Eliom_service.service ->
          ?hostname:string ->
          ?port:int ->
          ?fragment:string ->
          ?keep_nl_params:[ `All | `None | `Persistent ] ->
          ?nl_params:Eliom_parameter.nl_params_set ->
          ?keep_get_na_params:bool ->
          'get ->
          'post ->
          string * (string * Eliommod_parameters.param) list *
          string option * (string * Eliommod_parameters.param) list
        val make_proto_prefix :
          ?hostname:string -> ?port:int -> bool -> string
        val a :
          ?absolute:bool ->
          ?absolute_path:bool ->
          ?https:bool ->
          ?a:Pages.a_attrib_t ->
          service:('get, unit, [< Eliom_service.get_service_kind ],
                   [< Eliom_service.attached ],
                   [< Eliom_service.service_kind ], [< Eliom_service.suff ],
                   'd, unit, [< Eliom_service.registrable ],
                   [< Eliom_service.non_ocaml_service ])
                  Eliom_service.service ->
          ?hostname:string ->
          ?port:int ->
          ?fragment:string ->
          ?keep_nl_params:[ `All | `None | `Persistent ] ->
          ?nl_params:Eliom_parameter.nl_params_set ->
          ?xhr:bool -> 'Pages.a_content_elt_list -> 'get -> 'Pages.a_elt
        val css_link :
          ?a:Pages.link_attrib_t -> uri:Pages.uri -> unit -> Pages.link_elt
        val js_script :
          ?a:Pages.script_attrib_t ->
          uri:Pages.uri -> unit -> Pages.script_elt
        val get_form :
          ?absolute:bool ->
          ?absolute_path:bool ->
          ?https:bool ->
          ?a:Pages.form_attrib_t ->
          service:('get, unit, [< Eliom_service.get_service_kind ],
                   [< Eliom_service.attached ],
                   [< Eliom_service.service_kind ], [< Eliom_service.suff ],
                   'gn, 'pn, [< Eliom_service.registrable ],
                   [< Eliom_service.non_ocaml_service ])
                  Eliom_service.service ->
          ?hostname:string ->
          ?port:int ->
          ?fragment:string ->
          ?keep_nl_params:[ `All | `None | `Persistent ] ->
          ?nl_params:Eliom_parameter.nl_params_set ->
          ?xhr:bool -> ('gn -> Pages.form_content_elt_list) -> Pages.form_elt
        val lwt_get_form :
          ?absolute:bool ->
          ?absolute_path:bool ->
          ?https:bool ->
          ?a:Pages.form_attrib_t ->
          service:('get, unit, [< Eliom_service.get_service_kind ],
                   [< Eliom_service.attached ],
                   [< Eliom_service.service_kind ], [< Eliom_service.suff ],
                   'gn, 'pn, [< Eliom_service.registrable ],
                   [< Eliom_service.non_ocaml_service ])
                  Eliom_service.service ->
          ?hostname:string ->
          ?port:int ->
          ?fragment:string ->
          ?keep_nl_params:[ `All | `None | `Persistent ] ->
          ?nl_params:Eliom_parameter.nl_params_set ->
          ?xhr:bool ->
          ('gn -> Pages.form_content_elt_list Lwt.t) -> Pages.form_elt Lwt.t
        val post_form :
          ?absolute:bool ->
          ?absolute_path:bool ->
          ?https:bool ->
          ?a:Pages.form_attrib_t ->
          service:('get, 'post, [< Eliom_service.post_service_kind ],
                   [< Eliom_service.attached ],
                   [< Eliom_service.service_kind ], [< Eliom_service.suff ],
                   'gn, 'pn, [< Eliom_service.registrable ],
                   [< Eliom_service.non_ocaml_service ])
                  Eliom_service.service ->
          ?hostname:string ->
          ?port:int ->
          ?fragment:string ->
          ?keep_nl_params:[ `All | `None | `Persistent ] ->
          ?keep_get_na_params:bool ->
          ?nl_params:Eliom_parameter.nl_params_set ->
          ?xhr:bool ->
          ('pn -> Pages.form_content_elt_list) -> 'get -> Pages.form_elt
        val lwt_post_form :
          ?absolute:bool ->
          ?absolute_path:bool ->
          ?https:bool ->
          ?a:Pages.form_attrib_t ->
          service:('get, 'post, [< Eliom_service.post_service_kind ],
                   [< Eliom_service.attached ],
                   [< Eliom_service.service_kind ], [< Eliom_service.suff ],
                   'gn, 'pn, [< Eliom_service.registrable ],
                   [< Eliom_service.non_ocaml_service ])
                  Eliom_service.service ->
          ?hostname:string ->
          ?port:int ->
          ?fragment:string ->
          ?keep_nl_params:[ `All | `None | `Persistent ] ->
          ?keep_get_na_params:bool ->
          ?nl_params:Eliom_parameter.nl_params_set ->
          ?xhr:bool ->
          ('pn -> Pages.form_content_elt_list Lwt.t) ->
          'get -> Pages.form_elt Lwt.t
        val int_input :
          ?a:Pages.input_attrib_t ->
          input_type:Pages.input_type_t ->
          ?name:[< int Eliom_parameter.setoneradio ]
                Eliom_parameter.param_name ->
          ?value:int -> unit -> Pages.input_elt
        val int32_input :
          ?a:Pages.input_attrib_t ->
          input_type:Pages.input_type_t ->
          ?name:[< int32 Eliom_parameter.setoneradio ]
                Eliom_parameter.param_name ->
          ?value:int32 -> unit -> Pages.input_elt
        val int64_input :
          ?a:Pages.input_attrib_t ->
          input_type:Pages.input_type_t ->
          ?name:[< int64 Eliom_parameter.setoneradio ]
                Eliom_parameter.param_name ->
          ?value:int64 -> unit -> Pages.input_elt
        val float_input :
          ?a:Pages.input_attrib_t ->
          input_type:Pages.input_type_t ->
          ?name:[< float Eliom_parameter.setoneradio ]
                Eliom_parameter.param_name ->
          ?value:float -> unit -> Pages.input_elt
        val string_input :
          ?a:Pages.input_attrib_t ->
          input_type:Pages.input_type_t ->
          ?name:[< string Eliom_parameter.setoneradio ]
                Eliom_parameter.param_name ->
          ?value:string -> unit -> Pages.input_elt
        val user_type_input :
          ('-> string) ->
          ?a:Pages.input_attrib_t ->
          input_type:Pages.input_type_t ->
          ?name:[< 'Eliom_parameter.setoneradio ]
                Eliom_parameter.param_name ->
          ?value:'-> unit -> Pages.input_elt
        val raw_input :
          ?a:Pages.input_attrib_t ->
          input_type:Pages.input_type_t ->
          ?name:string -> ?value:string -> unit -> Pages.input_elt
        val file_input :
          ?a:Pages.input_attrib_t ->
          name:[< Eliom_lib.file_info Eliom_parameter.setoneradio ]
               Eliom_parameter.param_name ->
          unit -> Pages.input_elt
        val image_input :
          ?a:Pages.input_attrib_t ->
          name:[< Eliom_parameter.coordinates Eliom_parameter.oneradio ]
               Eliom_parameter.param_name ->
          ?src:Pages.uri -> unit -> Pages.input_elt
        val int_image_input :
          ?a:Pages.input_attrib_t ->
          name:[< (int * Eliom_parameter.coordinates)
                  Eliom_parameter.oneradio ]
               Eliom_parameter.param_name ->
          value:int -> ?src:Pages.uri -> unit -> Pages.input_elt
        val int32_image_input :
          ?a:Pages.input_attrib_t ->
          name:[< (int32 * Eliom_parameter.coordinates)
                  Eliom_parameter.oneradio ]
               Eliom_parameter.param_name ->
          value:int32 -> ?src:Pages.uri -> unit -> Pages.input_elt
        val int64_image_input :
          ?a:Pages.input_attrib_t ->
          name:[< (int64 * Eliom_parameter.coordinates)
                  Eliom_parameter.oneradio ]
               Eliom_parameter.param_name ->
          value:int64 -> ?src:Pages.uri -> unit -> Pages.input_elt
        val float_image_input :
          ?a:Pages.input_attrib_t ->
          name:[< (float * Eliom_parameter.coordinates)
                  Eliom_parameter.oneradio ]
               Eliom_parameter.param_name ->
          value:float -> ?src:Pages.uri -> unit -> Pages.input_elt
        val string_image_input :
          ?a:Pages.input_attrib_t ->
          name:[< (string * Eliom_parameter.coordinates)
                  Eliom_parameter.oneradio ]
               Eliom_parameter.param_name ->
          value:string -> ?src:Pages.uri -> unit -> Pages.input_elt
        val user_type_image_input :
          ('-> string) ->
          ?a:Pages.input_attrib_t ->
          name:[< ('a * Eliom_parameter.coordinates) Eliom_parameter.oneradio ]
               Eliom_parameter.param_name ->
          value:'-> ?src:Pages.uri -> unit -> Pages.input_elt
        val raw_image_input :
          ?a:Pages.input_attrib_t ->
          name:string ->
          value:string -> ?src:Pages.uri -> unit -> Pages.input_elt
        val bool_checkbox :
          ?a:Pages.input_attrib_t ->
          ?checked:bool ->
          name:[ `One of bool ] Eliom_parameter.param_name ->
          unit -> Pages.input_elt
        val int_checkbox :
          ?a:Pages.input_attrib_t ->
          ?checked:bool ->
          name:[ `Set of int ] Eliom_parameter.param_name ->
          value:int -> unit -> Pages.input_elt
        val int32_checkbox :
          ?a:Pages.input_attrib_t ->
          ?checked:bool ->
          name:[ `Set of int32 ] Eliom_parameter.param_name ->
          value:int32 -> unit -> Pages.input_elt
        val int64_checkbox :
          ?a:Pages.input_attrib_t ->
          ?checked:bool ->
          name:[ `Set of int64 ] Eliom_parameter.param_name ->
          value:int64 -> unit -> Pages.input_elt
        val float_checkbox :
          ?a:Pages.input_attrib_t ->
          ?checked:bool ->
          name:[ `Set of float ] Eliom_parameter.param_name ->
          value:float -> unit -> Pages.input_elt
        val string_checkbox :
          ?a:Pages.input_attrib_t ->
          ?checked:bool ->
          name:[ `Set of string ] Eliom_parameter.param_name ->
          value:string -> unit -> Pages.input_elt
        val user_type_checkbox :
          ('-> string) ->
          ?a:Pages.input_attrib_t ->
          ?checked:bool ->
          name:[ `Set of 'a ] Eliom_parameter.param_name ->
          value:'-> unit -> Pages.input_elt
        val raw_checkbox :
          ?a:Pages.input_attrib_t ->
          ?checked:bool ->
          name:string -> value:string -> unit -> Pages.input_elt
        val string_radio :
          ?a:Pages.input_attrib_t ->
          ?checked:bool ->
          name:[ `Radio of string ] Eliom_parameter.param_name ->
          value:string -> unit -> Pages.input_elt
        val string_radio_required :
          ?a:Pages.input_attrib_t ->
          ?checked:bool ->
          name:[ `One of string ] Eliom_parameter.param_name ->
          value:string -> unit -> Pages.input_elt
        val int_radio :
          ?a:Pages.input_attrib_t ->
          ?checked:bool ->
          name:[ `Radio of int ] Eliom_parameter.param_name ->
          value:int -> unit -> Pages.input_elt
        val int32_radio :
          ?a:Pages.input_attrib_t ->
          ?checked:bool ->
          name:[ `Radio of int32 ] Eliom_parameter.param_name ->
          value:int32 -> unit -> Pages.input_elt
        val int64_radio :
          ?a:Pages.input_attrib_t ->
          ?checked:bool ->
          name:[ `Radio of int64 ] Eliom_parameter.param_name ->
          value:int64 -> unit -> Pages.input_elt
        val float_radio :
          ?a:Pages.input_attrib_t ->
          ?checked:bool ->
          name:[ `Radio of float ] Eliom_parameter.param_name ->
          value:float -> unit -> Pages.input_elt
        val user_type_radio :
          ('-> string) ->
          ?a:Pages.input_attrib_t ->
          ?checked:bool ->
          name:[ `Radio of 'a ] Eliom_parameter.param_name ->
          value:'-> unit -> Pages.input_elt
        val raw_radio :
          ?a:Pages.input_attrib_t ->
          ?checked:bool ->
          name:string -> value:string -> unit -> Pages.input_elt
        val string_button :
          ?a:Pages.button_attrib_t ->
          name:[< string Eliom_parameter.setone ] Eliom_parameter.param_name ->
          value:string -> Pages.button_content_elt_list -> Pages.button_elt
        val int_button :
          ?a:Pages.button_attrib_t ->
          name:[< int Eliom_parameter.setone ] Eliom_parameter.param_name ->
          value:int -> Pages.button_content_elt_list -> Pages.button_elt
        val int32_button :
          ?a:Pages.button_attrib_t ->
          name:[< int32 Eliom_parameter.setone ] Eliom_parameter.param_name ->
          value:int32 -> Pages.button_content_elt_list -> Pages.button_elt
        val int64_button :
          ?a:Pages.button_attrib_t ->
          name:[< int64 Eliom_parameter.setone ] Eliom_parameter.param_name ->
          value:int64 -> Pages.button_content_elt_list -> Pages.button_elt
        val float_button :
          ?a:Pages.button_attrib_t ->
          name:[< float Eliom_parameter.setone ] Eliom_parameter.param_name ->
          value:float -> Pages.button_content_elt_list -> Pages.button_elt
        val user_type_button :
          ('-> string) ->
          ?a:Pages.button_attrib_t ->
          name:[< 'Eliom_parameter.setone ] Eliom_parameter.param_name ->
          value:'-> Pages.button_content_elt_list -> Pages.button_elt
        val raw_button :
          ?a:Pages.button_attrib_t ->
          button_type:Pages.button_type_t ->
          name:string ->
          value:string -> Pages.button_content_elt_list -> Pages.button_elt
        val button :
          ?a:Pages.button_attrib_t ->
          button_type:Pages.button_type_t ->
          Pages.button_content_elt_list -> Pages.button_elt
        val textarea :
          ?a:Pages.textarea_attrib_t ->
          name:[< string Eliom_parameter.setoneradio ]
               Eliom_parameter.param_name ->
          ?value:string -> unit -> Pages.textarea_elt
        val raw_textarea :
          ?a:Pages.textarea_attrib_t ->
          name:string -> ?value:string -> unit -> Pages.textarea_elt
        type 'a soption =
            Pages.option_attrib_t * 'a * Pages.pcdata_elt option * bool
        type 'a select_opt =
            Optgroup of Pages.optgroup_attrib_t * string *
              'Eliom_mkforms.MakeForms.soption *
              'Eliom_mkforms.MakeForms.soption list
          | Option of 'Eliom_mkforms.MakeForms.soption
        val int_select :
          ?a:Pages.select_attrib_t ->
          ?required:Pages.pcdata_elt ->
          name:[ `One of int ] Eliom_parameter.param_name ->
          int Eliom_mkforms.MakeForms.select_opt ->
          int Eliom_mkforms.MakeForms.select_opt list -> Pages.select_elt
        val int32_select :
          ?a:Pages.select_attrib_t ->
          ?required:Pages.pcdata_elt ->
          name:[ `One of int32 ] Eliom_parameter.param_name ->
          int32 Eliom_mkforms.MakeForms.select_opt ->
          int32 Eliom_mkforms.MakeForms.select_opt list -> Pages.select_elt
        val int64_select :
          ?a:Pages.select_attrib_t ->
          ?required:Pages.pcdata_elt ->
          name:[ `One of int64 ] Eliom_parameter.param_name ->
          int64 Eliom_mkforms.MakeForms.select_opt ->
          int64 Eliom_mkforms.MakeForms.select_opt list -> Pages.select_elt
        val float_select :
          ?a:Pages.select_attrib_t ->
          ?required:Pages.pcdata_elt ->
          name:[ `One of float ] Eliom_parameter.param_name ->
          float Eliom_mkforms.MakeForms.select_opt ->
          float Eliom_mkforms.MakeForms.select_opt list -> Pages.select_elt
        val string_select :
          ?a:Pages.select_attrib_t ->
          ?required:Pages.pcdata_elt ->
          name:[ `One of string ] Eliom_parameter.param_name ->
          string Eliom_mkforms.MakeForms.select_opt ->
          string Eliom_mkforms.MakeForms.select_opt list -> Pages.select_elt
        val user_type_select :
          ('-> string) ->
          ?a:Pages.select_attrib_t ->
          ?required:Pages.pcdata_elt ->
          name:[ `One of 'a ] Eliom_parameter.param_name ->
          'Eliom_mkforms.MakeForms.select_opt ->
          'Eliom_mkforms.MakeForms.select_opt list -> Pages.select_elt
        val raw_select :
          ?a:Pages.select_attrib_t ->
          ?required:Pages.pcdata_elt ->
          name:string ->
          string Eliom_mkforms.MakeForms.select_opt ->
          string Eliom_mkforms.MakeForms.select_opt list -> Pages.select_elt
        val int_multiple_select :
          ?a:Pages.select_attrib_t ->
          ?required:Pages.pcdata_elt ->
          name:[ `Set of int ] Eliom_parameter.param_name ->
          int Eliom_mkforms.MakeForms.select_opt ->
          int Eliom_mkforms.MakeForms.select_opt list -> Pages.select_elt
        val int32_multiple_select :
          ?a:Pages.select_attrib_t ->
          ?required:Pages.pcdata_elt ->
          name:[ `Set of int32 ] Eliom_parameter.param_name ->
          int32 Eliom_mkforms.MakeForms.select_opt ->
          int32 Eliom_mkforms.MakeForms.select_opt list -> Pages.select_elt
        val int64_multiple_select :
          ?a:Pages.select_attrib_t ->
          ?required:Pages.pcdata_elt ->
          name:[ `Set of int64 ] Eliom_parameter.param_name ->
          int64 Eliom_mkforms.MakeForms.select_opt ->
          int64 Eliom_mkforms.MakeForms.select_opt list -> Pages.select_elt
        val float_multiple_select :
          ?a:Pages.select_attrib_t ->
          ?required:Pages.pcdata_elt ->
          name:[ `Set of float ] Eliom_parameter.param_name ->
          float Eliom_mkforms.MakeForms.select_opt ->
          float Eliom_mkforms.MakeForms.select_opt list -> Pages.select_elt
        val string_multiple_select :
          ?a:Pages.select_attrib_t ->
          ?required:Pages.pcdata_elt ->
          name:[ `Set of string ] Eliom_parameter.param_name ->
          string Eliom_mkforms.MakeForms.select_opt ->
          string Eliom_mkforms.MakeForms.select_opt list -> Pages.select_elt
        val user_type_multiple_select :
          ('-> string) ->
          ?a:Pages.select_attrib_t ->
          ?required:Pages.pcdata_elt ->
          name:[ `Set of 'a ] Eliom_parameter.param_name ->
          'Eliom_mkforms.MakeForms.select_opt ->
          'Eliom_mkforms.MakeForms.select_opt list -> Pages.select_elt
        val raw_multiple_select :
          ?a:Pages.select_attrib_t ->
          ?required:Pages.pcdata_elt ->
          name:string ->
          string Eliom_mkforms.MakeForms.select_opt ->
          string Eliom_mkforms.MakeForms.select_opt list -> Pages.select_elt
        val a_for : 'Eliom_parameter.param_name -> Pages.for_attrib
      end
end