sig
  val read_ui16 : IO.input -> int
  val read_i16 : IO.input -> int
  val read_i32 : IO.input -> int
  val read_real_i32 : IO.input -> int32
  val read_i64 : IO.input -> int64
  val read_double : IO.input -> float
  val write_ui16 : 'IO.output -> int -> unit
  val write_i16 : 'IO.output -> int -> unit
  val write_i32 : 'IO.output -> int -> unit
  val write_real_i32 : 'IO.output -> int32 -> unit
  val write_i64 : 'IO.output -> int64 -> unit
  val write_double : 'IO.output -> float -> unit
end