`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 : 'a BatIO.output -> int -> unit
val write_i16 : 'a BatIO.output -> int -> unit
val write_i32 : 'a BatIO.output -> int -> unit
val write_real_i32 : 'a BatIO.output -> int32 -> unit
val write_i64 : 'a BatIO.output -> int64 -> unit
val write_double : 'a BatIO.output -> float -> unit
val write_float : 'a 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 : 'a BatIO.output -> int BatEnum.t -> unit
val write_ui16s : 'a BatIO.output -> int BatEnum.t -> unit
val write_i16s : 'a BatIO.output -> int BatEnum.t -> unit
val write_i32s : 'a BatIO.output -> int BatEnum.t -> unit
val write_real_i32s : 'a BatIO.output -> int32 BatEnum.t -> unit
val write_i64s : 'a BatIO.output -> int64 BatEnum.t -> unit
val write_doubles : 'a BatIO.output -> float BatEnum.t -> unit
end`