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