sig
  val identity : 'a -> 'a
  val string_of_pair : ('a -> string) -> ('b -> string) -> 'a * 'b -> string
  val string_of_list : ('a -> string) -> 'a list -> string
  val string_of_list_complex :
    ?sep:string ->
    ?start_char:string ->
    ?end_char:string -> ('a -> string) -> 'a list -> string
  val string_of_array : ('a -> string) -> 'a array -> string
  val string_of_option : ('a -> string) -> 'a option -> string
  val quote : string -> string
  val quote' : ('a -> string) -> 'a -> string
end