sig
  val read_ui16 : BatIO.input -> int
  val read_i16 : BatIO.input -> int
  val read_i32 : BatIO.input -> int
  val read_real_i32 : BatIO.input -> int32
  val read_i64 : BatIO.input -> int64
  val read_double : BatIO.input -> float
  val read_float : BatIO.input -> float
  val write_ui16 : 'BatIO.output -> int -> unit
  val write_i16 : 'BatIO.output -> int -> unit
  val write_i32 : 'BatIO.output -> int -> unit
  val write_real_i32 : 'BatIO.output -> int32 -> unit
  val write_i64 : 'BatIO.output -> int64 -> unit
  val write_double : 'BatIO.output -> float -> unit
  val write_float : 'BatIO.output -> float -> unit
  val ui16s_of : BatIO.input -> int BatEnum.t
  val i16s_of : BatIO.input -> int BatEnum.t
  val i32s_of : BatIO.input -> int BatEnum.t
  val real_i32s_of : BatIO.input -> int32 BatEnum.t
  val i64s_of : BatIO.input -> int64 BatEnum.t
  val doubles_of : BatIO.input -> float BatEnum.t
  val write_bytes : 'BatIO.output -> int BatEnum.t -> unit
  val write_ui16s : 'BatIO.output -> int BatEnum.t -> unit
  val write_i16s : 'BatIO.output -> int BatEnum.t -> unit
  val write_i32s : 'BatIO.output -> int BatEnum.t -> unit
  val write_real_i32s : 'BatIO.output -> int32 BatEnum.t -> unit
  val write_i64s : 'BatIO.output -> int64 BatEnum.t -> unit
  val write_doubles : 'BatIO.output -> float BatEnum.t -> unit
end