val map : f:('a -> 'b) -> 'a option -> 'b optionval bind : f:('a -> 'b option) -> 'a option -> 'b optionval iter : f:('a -> unit) -> 'a option -> unitval filter : f:('a -> bool) -> 'a option -> 'a optionval compare : ('a -> 'b -> int) -> 'a option -> 'b option -> intval equal : ('a -> 'b -> bool) -> 'a option -> 'b option -> boolval is_none : 'a option -> boolval is_some : 'a option -> boolval value : default:'a -> 'a option -> 'a