sig   val may : ('a -> unit) -> 'a option -> unit   val map : ('a -> 'b) -> 'a option -> 'b option   val default : 'a -> 'a option -> 'a   val map_default : ('a -> 'b) -> 'b -> 'a option -> 'b   val is_none : 'a option -> bool   val is_some : 'a option -> bool   val get : 'a option -> 'a   exception No_value end