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