sig
type 'a t = 'a option
val some : 'a -> 'a Util.Option.t
val none : 'a Util.Option.t
val map : ('a -> 'b) -> 'a Util.Option.t -> 'b Util.Option.t
val sopt : ('a -> string) -> 'a Util.Option.t -> string
val opt_min : 'a Util.Option.t -> 'a Util.Option.t -> 'a Util.Option.t
val maybe : ('a -> 'b) -> 'a -> 'b Util.Option.t
val get_or_else : 'a -> 'a Util.Option.t -> 'a
val cat_options : 'a option list -> 'a list
end