functor (Bin_spec : Make_binable2_spec->
  sig
    val bin_size_t : ('a, 'b, ('a, 'b) Bin_spec.t) Size.sizer2
    val bin_write_t : ('a, 'b, ('a, 'b) Bin_spec.t) Map_to_safe.writer2
    val bin_write_t_ : ('a, 'b, ('a, 'b) Bin_spec.t) Unsafe_write_c.writer2
    val bin_read_t : ('a, 'b, ('a, 'b) Bin_spec.t) Map_to_safe.reader2
    val bin_read_t_ : ('a, 'b, ('a, 'b) Bin_spec.t) Unsafe_read_c.reader2
    val bin_read_t__ :
      ('a, 'b, int -> ('a, 'b) Bin_spec.t) Unsafe_read_c.reader2
    val bin_writer_t : ('a, 'b, ('a, 'b) Bin_spec.t) Type_class.S2.writer
    val bin_reader_t : ('a, 'b, ('a, 'b) Bin_spec.t) Type_class.S2.reader
    val bin_t : ('a, 'b, ('a, 'b) Bin_spec.t) Type_class.S2.t
  end