module Info: sig .. end
sig
end
type t
val create : unit -> ('a -> t) * (t -> 'a option)
unit -> ('a -> t) * (t -> 'a option)
val none : t
t