sig
  module Array :
    sig
      val pp :
        ?flush:bool ->
        ?first:string ->
        ?last:string ->
        ?sep:string ->
        ?indent:int ->
        (Format.formatter -> '-> 'b) ->
        Format.formatter -> 'a array -> unit
    end
  module Enum :
    sig
      val pp :
        ?flush:bool ->
        ?first:string ->
        ?last:string ->
        ?sep:string ->
        ?indent:int ->
        (Format.formatter -> '-> 'b) ->
        Format.formatter -> 'BatEnum.t -> unit
    end
  module List :
    sig
      val pp :
        ?flush:bool ->
        ?first:string ->
        ?last:string ->
        ?sep:string ->
        ?indent:int ->
        (Format.formatter -> '-> 'b) -> Format.formatter -> 'a list -> unit
    end
end