val value_exn : ?here:Source_code_position0.t -> ?error:Error.t-> ?message:string -> 'a t-> 'a
value_exn (Some x) = x. value_exn None raises an error whose contents contain
the supplied ~here, ~error, and message, or a default message if none are
supplied.
val merge : 'a t-> 'a t-> f:('a -> 'a -> 'a) -> 'a t
merge a b ~f merges together the values from a and b using f. If both a and
b are None, returns None. If only one is Some, returns that one, and if both
are Some, returns Some of the result of applying f to the contents of a and
b.