type 'a t = 'a option =
val map : 'a t -> f:('a -> 'b) -> 'b tval bind : 'a t -> f:('a -> 'b t) -> 'b tval iter : 'a t -> f:('a -> unit) -> unitval forall : 'a t -> f:('a -> bool) -> boolval value : 'a t -> default:'a -> 'aval value_exn : 'a t -> 'aval some : 'a -> 'a tval some_if : bool -> 'a -> 'a tval is_some : _ t -> boolval is_none : _ t -> boolval both : 'a t -> 'b t -> ('a * 'b) tval to_list : 'a t -> 'a listval equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> boolval compare : ('a -> 'a -> Stdune.Ordering.t) -> 'a t -> 'a t -> Stdune.Ordering.tval try_with : (unit -> 'a) -> 'a option
module List : sig ... end