open Bin_prot.Std;;

#verbose true

module Simple = struct
  type 'a t = C of 'a list t * string t [@@deriving bin_io ~localize]
end

[%%expect
  {|
module Simple :
  sig
    type 'a t = C of 'a list t * string t
    val bin_shape_t : Bin_shape.t -> Bin_shape.t
    val bin_size_t__local :
      'a Bin_prot.Size.sizer_local -> 'a t Bin_prot.Size.sizer_local
    val bin_size_t : 'a Bin_prot.Size.sizer -> 'a t Bin_prot.Size.sizer
    val bin_write_t__local :
      'a Bin_prot.Write.writer_local -> 'a t Bin_prot.Write.writer_local
    val bin_write_t : 'a Bin_prot.Write.writer -> 'a t Bin_prot.Write.writer
    val bin_writer_t :
      'a Bin_prot.Type_class.writer -> 'a t Bin_prot.Type_class.writer
    val __bin_read_t__ :
      'a Bin_prot.Read.reader -> (int -> 'a t) Bin_prot.Read.reader
    val bin_read_t : 'a Bin_prot.Read.reader -> 'a t Bin_prot.Read.reader
    val bin_reader_t :
      'a Bin_prot.Type_class.reader -> 'a t Bin_prot.Type_class.reader
    val bin_t : 'a Bin_prot.Type_class.t -> 'a t Bin_prot.Type_class.t
  end
|}]
