sig
  type 'a t
  type 'a tlist
  val return : '-> 'Xml_wrap.T.t
  val fmap : ('-> 'b) -> 'Xml_wrap.T.t -> 'Xml_wrap.T.t
  val nil : unit -> 'Xml_wrap.T.tlist
  val singleton : 'Xml_wrap.T.t -> 'Xml_wrap.T.tlist
  val cons : 'Xml_wrap.T.t -> 'Xml_wrap.T.tlist -> 'Xml_wrap.T.tlist
  val append :
    'Xml_wrap.T.tlist -> 'Xml_wrap.T.tlist -> 'Xml_wrap.T.tlist
  val map : ('-> 'b) -> 'Xml_wrap.T.tlist -> 'Xml_wrap.T.tlist
end