sig type t val receive : Async.Std.Reader.t -> [ `Eof | `Ok of Protocol.Marshalable.t ] Async.Std.Deferred.t val send : Async.Std.Writer.t -> Protocol.Marshalable.t -> unit end