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 : (int, 'a) BatIO.printer
  val write_i16 : (int, 'a) BatIO.printer
  val write_i32 : (int, 'a) BatIO.printer
  val write_real_i32 : (int32, 'a) BatIO.printer
  val write_i64 : (int64, 'a) BatIO.printer
  val write_double : (float, 'a) BatIO.printer
  val write_float : (float, 'a) BatIO.printer
  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 floats_of : BatIO.input -> float BatEnum.t
end