module Z: sig
.. end
type 'a
t = [ `Eof | `Ok of 'a ]
val __t_of_sexp__ : 'a. (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a t
val t_of_sexp : 'a. (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a t
val sexp_of_t : 'a. ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
val bin_size_t : ('a -> int) -> [> `Ok of 'a ] -> int
val bin_write_t_ : (Bin_prot.Unsafe_common.sptr ->
Bin_prot.Unsafe_common.eptr ->
'a -> Bin_prot.Unsafe_common.sptr) ->
Bin_prot.Unsafe_common.sptr ->
Bin_prot.Unsafe_common.eptr ->
[< `Eof | `Ok of 'a ] -> Bin_prot.Unsafe_common.sptr
val bin_write_t : (Bin_prot.Unsafe_common.sptr ->
Bin_prot.Unsafe_common.eptr ->
'a -> Bin_prot.Unsafe_common.sptr) ->
Bin_prot.Common.buf ->
pos:Bin_prot.Common.pos ->
[< `Eof | `Ok of 'a ] -> Bin_prot.Common.pos
val bin_writer_t : 'a Bin_prot.Type_class.writer ->
[< `Eof | `Ok of 'a > `Ok ] Bin_prot.Type_class.writer
val bin_read_t__ : ('a -> 'b -> 'c) -> 'a -> 'b -> int -> [> `Eof | `Ok of 'c ]
val bin_read_t_ : (Bin_prot.Unsafe_common.sptr_ptr ->
Bin_prot.Unsafe_common.eptr -> 'a) ->
Bin_prot.Unsafe_common.sptr_ptr ->
Bin_prot.Unsafe_common.eptr -> [> `Eof | `Ok of 'a ]
val bin_read_t : (Bin_prot.Unsafe_common.sptr_ptr ->
Bin_prot.Unsafe_common.eptr -> 'a) ->
Bin_prot.Common.buf ->
pos_ref:Bin_prot.Common.pos Pervasives.ref ->
'a t
val bin_reader_t : 'a Bin_prot.Type_class.reader ->
'a t Bin_prot.Type_class.reader
val bin_t : 'a Bin_prot.Type_class.t ->
'a t Bin_prot.Type_class.t
val bind : [< `Eof | `Ok of 'a ] -> ('a -> ([> `Eof ] as 'b)) -> 'b
val return : 'a -> [> `Ok of 'a ]