`sig
type _ field =
Field :
('record, 'a) Variant_and_record_intf.M.Field.t -> 'record
Variant_and_record_intf.M.Record_internal.field
type 'record fields = {
get :
'field. ('record, 'field) Variant_and_record_intf.M.Field.t -> 'field;
}
type 'a t = {
typename : 'a Typename.t;
fields : 'a Variant_and_record_intf.M.Record_internal.field array;
has_double_array_tag : bool;
create : 'a Variant_and_record_intf.M.Record_internal.fields -> 'a;
}
end`