Module Ask.Option

Option.

val v : 'a Type.t -> 'a option -> 'a option value

v t o is an option of type t.

val none : 'a Type.t -> 'a option value

none t is v t None.

val some : 'a Type.t -> 'a -> 'a option value

some t v is v t (Some v).

FIXME. This looks wrong shouldn't that have sig 'a value -> 'a option value ?

val is_none : 'a option value -> bool value
val is_some : 'a option value -> bool value
val get : 'a option value -> 'a value
val has_value : eq:('a value -> 'a value -> bool value) -> 'a value -> 'a option value -> bool value
val equal : eq:('a value -> 'a value -> bool value) -> 'a option value -> 'a option value -> bool value