sig
type 'a t = [ `Eof | `Ok of 'a ]
val __t_of_sexp__ : (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a t
val t_of_sexp : (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a t
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
val bin_size_t : ('a -> int) -> [> `Ok of 'a ] -> int
val bin_write_t :
(Core.Std.Bin_prot.Common.buf ->
pos:Core.Std.Bin_prot.Common.pos -> 'a -> Core.Std.Bin_prot.Common.pos) ->
Core.Std.Bin_prot.Common.buf ->
pos:Core.Std.Bin_prot.Common.pos ->
[< `Eof | `Ok of 'a ] -> Core.Std.Bin_prot.Common.pos
val bin_writer_t :
'a Core.Std.Bin_prot.Type_class.writer ->
[< `Eof | `Ok of 'a > `Ok ] Core.Std.Bin_prot.Type_class.writer
val __bin_read_t__ :
('a -> pos_ref:'b -> 'c) ->
'a -> pos_ref:'b -> int -> [> `Eof | `Ok of 'c ]
val bin_read_t :
(Core.Std.Bin_prot.Common.buf ->
pos_ref:Core.Std.Bin_prot.Common.pos_ref -> 'a) ->
Core.Std.Bin_prot.Common.buf ->
pos_ref:Core.Std.Bin_prot.Common.pos_ref -> [> `Eof | `Ok of 'a ]
val bin_reader_t :
'a Core.Std.Bin_prot.Type_class.reader ->
[> `Eof | `Ok of 'a ] Core.Std.Bin_prot.Type_class.reader
val bin_t :
'a Core.Std.Bin_prot.Type_class.t ->
[ `Eof | `Ok of 'a ] Core.Std.Bin_prot.Type_class.t
val bind : [< `Eof | `Ok of 'a ] -> ('a -> ([> `Eof ] as 'b)) -> 'b
val return : 'a -> [> `Ok of 'a ]
end