functor (XML : XML_sigs.Iterable->
  functor (I : sig val emptytags : string list end->
    functor (O : XML_sigs.Output->
      sig
        val print_list : ?encode:(string -> string) -> XML.elt list -> O.out
      end