sig
  type 'a writer = Common.buf -> pos:Common.pos -> '-> Common.pos
  type ('a, 'b) writer1 = 'Write_ml.writer -> 'Write_ml.writer
  type ('a, 'b, 'c) writer2 = 'Write_ml.writer -> ('b, 'c) Write_ml.writer1
  type ('a, 'b, 'c, 'd) writer3 =
      'Write_ml.writer -> ('b, 'c, 'd) Write_ml.writer2
  val bin_write_unit : unit Write_ml.writer
  val bin_write_bool : bool Write_ml.writer
  val bin_write_string : string Write_ml.writer
  val bin_write_char : char Write_ml.writer
  val bin_write_int : int Write_ml.writer
  val bin_write_nat0 : Nat0.t Write_ml.writer
  val bin_write_float : float Write_ml.writer
  val bin_write_int32 : int32 Write_ml.writer
  val bin_write_int64 : int64 Write_ml.writer
  val bin_write_nativeint : nativeint Write_ml.writer
  val bin_write_ref : ('a, 'Pervasives.ref) Write_ml.writer1
  val bin_write_lazy : ('a, 'a lazy_t) Write_ml.writer1
  val bin_write_option : ('a, 'a option) Write_ml.writer1
  val bin_write_pair : ('a, 'b, 'a * 'b) Write_ml.writer2
  val bin_write_triple : ('a, 'b, 'c, 'a * 'b * 'c) Write_ml.writer3
  val bin_write_list : ('a, 'a list) Write_ml.writer1
  val bin_write_array : ('a, 'a array) Write_ml.writer1
  val bin_write_hashtbl : ('a, 'b, ('a, 'b) Hashtbl.t) Write_ml.writer2
  val bin_write_float32_vec : Common.vec32 Write_ml.writer
  val bin_write_float64_vec : Common.vec64 Write_ml.writer
  val bin_write_vec : Common.vec Write_ml.writer
  val bin_write_float32_mat : Common.mat32 Write_ml.writer
  val bin_write_float64_mat : Common.mat64 Write_ml.writer
  val bin_write_mat : Common.mat Write_ml.writer
  val bin_write_bigstring : Common.buf Write_ml.writer
  val bin_write_float_array : float array Write_ml.writer
  val bin_write_variant_tag : [>  ] Write_ml.writer
  val bin_write_int_8bit : int Write_ml.writer
  val bin_write_int_16bit : int Write_ml.writer
  val bin_write_int_32bit : int Write_ml.writer
  val bin_write_int_64bit : int Write_ml.writer
  val bin_write_int64_bits : int64 Write_ml.writer
  val bin_write_network16_int : int Write_ml.writer
  val bin_write_network32_int : int Write_ml.writer
  val bin_write_network32_int32 : int32 Write_ml.writer
  val bin_write_network64_int : int Write_ml.writer
  val bin_write_network64_int64 : int64 Write_ml.writer
  val bin_write_array_no_length : ('a, 'a array) Write_ml.writer1
end