sig
val spaces : int -> string
val catmap : string -> ('a -> string) -> 'a list -> string
val ( +> ) : 'a -> ('a -> 'b) -> 'b
val transpose : 'a list list -> 'a list list
val list_last : 'a list -> 'a
val list_index : 'a list -> 'a -> int option
val list_omap : ('a -> 'b) -> 'a list -> 'b list
val catch_all : ('a -> 'b) -> 'a -> 'b option
val is_some : 'a option -> bool
val nlist : int -> int list
val list_prefix : 'a list -> int -> 'a list
val si : int -> string
val cat : string -> string list -> string
val bcat : Buffer.t -> string -> unit
val hashtable_of_list : ('a * 'b) list -> ('a, 'b) Hashtbl.t
val fix : (('a -> 'b) -> 'a -> 'b) -> 'a -> 'b
val uniq_cat : 'a list -> 'a list -> 'a list
val uniq_list : 'a list -> 'a list
end