sig
val string_of_float0 : float -> string
val string_of_list : ('a -> string) -> 'a list -> string
val opt_default : 'a -> 'a option -> 'a
val dump_to_file : string -> string -> unit
val list_remove : 'a -> 'a list -> 'a list
val list_lassoc : 'a -> ('b * 'a) list -> 'b
val index_of : 'a -> 'a list -> int
val range : int -> int -> int list
val rrange : int -> int -> int list
val srange : int -> int -> PintTypes.ISet.t
val hashtbl_filter_bindings :
('a, 'b) Hashtbl.t -> 'a -> ('b -> bool) -> unit
val string_apply : string -> string -> string list -> string
val cross : 'a list list -> 'a list -> 'a list list
val cross_list : 'a list list -> 'a list list
exception Empty
val cross_forward :
('a list -> 'b) * ('b -> 'b -> 'b) * ('b -> bool) -> 'a list list -> 'b
val stream_permutations : 'a list -> 'a list Stream.t
val smap_remove_keys :
'a PintTypes.SMap.t -> PintTypes.SSet.t -> 'a PintTypes.SMap.t
val smap_subset :
('a -> 'b -> bool) -> 'a PintTypes.SMap.t -> 'b PintTypes.SMap.t -> bool
end