sig
  type src = (Core_kernel.Std.read, seek) Iobuf.t
  module To_string :
    sig
      val blito : (src, string) Iobuf_intf.consuming_blito
      val blit : (src, string) Iobuf_intf.consuming_blit
      val unsafe_blit : (src, string) Iobuf_intf.consuming_blit
      val subo : ?len:int -> src -> string
      val sub : src -> len:int -> string
    end
  module To_bigstring :
    sig
      val blito :
        (src, Core_kernel.Std.Bigstring.t) Iobuf_intf.consuming_blito
      val blit : (src, Core_kernel.Std.Bigstring.t) Iobuf_intf.consuming_blit
      val unsafe_blit :
        (src, Core_kernel.Std.Bigstring.t) Iobuf_intf.consuming_blit
      val subo : ?len:int -> src -> Core_kernel.Std.Bigstring.t
      val sub : src -> len:int -> Core_kernel.Std.Bigstring.t
    end
  type ('a, 'b, 's) t = ('b, seek) t -> 'a
    constraint 'b = [> Core_kernel.Std.read ]
  val char : (char, [> Core_kernel.Std.read ], 'w) t
  val int8 : (int, [> Core_kernel.Std.read ], 'w) t
  val int16_be : (int, [> Core_kernel.Std.read ], 'w) t
  val int16_le : (int, [> Core_kernel.Std.read ], 'w) t
  val int32_be : (int, [> Core_kernel.Std.read ], 'w) t
  val int32_le : (int, [> Core_kernel.Std.read ], 'w) t
  val uint8 : (int, [> Core_kernel.Std.read ], 'w) t
  val uint16_be : (int, [> Core_kernel.Std.read ], 'w) t
  val uint16_le : (int, [> Core_kernel.Std.read ], 'w) t
  val uint32_be : (int, [> Core_kernel.Std.read ], 'w) t
  val uint32_le : (int, [> Core_kernel.Std.read ], 'w) t
  val int64_be : (int, [> Core_kernel.Std.read ], 'w) t
  val int64_le : (int, [> Core_kernel.Std.read ], 'w) t
  val int64_t_be : (Core_kernel.Std.Int64.t, [> Core_kernel.Std.read ], 'w) t
  val int64_t_le : (Core_kernel.Std.Int64.t, [> Core_kernel.Std.read ], 'w) t
  val tail_padded_fixed_string :
    padding:char -> len:int -> (string, [> Core_kernel.Std.read ], 'w) t
  val string :
    ?str_pos:int -> ?len:int -> (string, [> Core_kernel.Std.read ], 'w) t
  val bigstring :
    ?str_pos:int ->
    ?len:int ->
    (Core_kernel.Std.Bigstring.t, [> Core_kernel.Std.read ], 'w) t
  val bin_prot :
    'Core_kernel.Std.Bin_prot.Type_class.reader ->
    ('a, [> Core_kernel.Std.read ], 'w) t
  val int64_be_trunc : (int, [> Core_kernel.Std.read ], 'w) t
  val int64_le_trunc : (int, [> Core_kernel.Std.read ], 'w) t
end