val map : ('a -> 'b) -> 'a option -> 'b option (** Apply f to the Some value *) val apply : ('a -> 'b option) -> 'a option -> 'b option (** Like map, for use when f returns an option. With this you can turn Some's to None's. *) val get : 'a option -> 'a (** Return the Some value, or raise an exception *) val set : 'a -> 'a option -> 'a (** Like get, but provide a default value for None instead of raising an exception. *) val setmap : 'a -> ('b -> 'a) -> 'b option -> 'a (** Commonly used combination of set and map *) val zap : ('a -> bool) -> 'a option -> 'a option (** Turn selected Somes into Nones *) val compare : ('a -> 'b -> int) -> 'a option -> 'b option -> int (** Wrap up a compare function so that None values sort later *) val pred : 'a option -> bool (** Map None to false, Some x to true *) val filter : 'a option list -> 'a list (** Filter the Nones out of an option list and return the Some values. *) val to_string : ('a -> string) -> 'a option -> string (** Debugging function *)