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