sig
val general :
?hashable:'a Core.Std_internal.Hashtbl.Hashable.t ->
?cache_size_bound:int -> ('a -> 'b) -> 'a -> 'b
val unit : (unit -> 'a) -> unit -> 'a
val general_rec : (('a -> 'b) -> 'a -> 'b) -> 'a -> 'b
val reentrant_unit : (unit -> 'a) -> unit -> 'a
end