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