sig
  type 'a t
  val create :
    name:string ->
    ?default:'->
    to_string:('-> string) ->
    of_string:(string -> 'a) ->
    unit -> 'Eliom_content_core.Html.Custom_data.t
  val create_json :
    name:string ->
    ?default:'->
    'Deriving_Json.t -> 'Eliom_content_core.Html.Custom_data.t
  val attrib :
    'Eliom_content_core.Html.Custom_data.t ->
    '-> [> `User_data ] Eliom_content_core.Html.attrib
  val get_dom :
    Js_of_ocaml.Dom_html.element Js_of_ocaml.Js.t ->
    'Eliom_content_core.Html.Custom_data.t -> 'a
  val set_dom :
    Js_of_ocaml.Dom_html.element Js_of_ocaml.Js.t ->
    'Eliom_content_core.Html.Custom_data.t -> '-> unit
end