sig
  val string_of_unit : unit -> string
  val string_of_char : char -> string
  val string_of_string : string -> string
  val string_of_complex : Complex.t -> string
  val string_of_buffer : Buffer.t -> string
  val make_string_of_array : ('a -> string) -> 'a array -> string
  val make_string_of_list : ('a -> string) -> 'a list -> string
  val make_string_of_option : ('a -> string) -> 'a option -> string
  val make_string_of_ref : ('a -> string) -> 'a Pervasives.ref -> string
  val make_string_of_hashtbl :
    ('a -> string) -> ('b -> string) -> ('a, 'b) Hashtbl.t -> string
  val make_string_of_queue : ('a -> string) -> 'a Queue.t -> string
  val make_string_of_stack : ('a -> string) -> 'a Stack.t -> string
  val make_string_of_weak : ('a option -> string) -> 'a Weak.t -> string
  val make_string_of_tuple1 : ('a -> string) -> 'a -> string
  val make_string_of_tuple2 :
    ('a -> string) -> ('b -> string) -> 'a * 'b -> string
  val make_string_of_tuple3 :
    ('a -> string) ->
    ('b -> string) -> ('c -> string) -> 'a * 'b * 'c -> string
  val make_string_of_tuple4 :
    ('a -> string) ->
    ('b -> string) ->
    ('c -> string) -> ('d -> string) -> 'a * 'b * 'c * 'd -> string
  val make_string_of_tuple5 :
    ('a -> string) ->
    ('b -> string) ->
    ('c -> string) ->
    ('d -> string) -> ('e -> string) -> 'a * 'b * 'c * 'd * 'e -> string
end