val fields : Ppxlib.label_declaration list ‑> (string * [> `Immutable | `Mutable ] * Ppxlib.core_type) list
val make_body : ?unique_f:(Ppxlib.Location.t ‑> field_name:string ‑> field_ty:Ppxlib.core_type ‑> Ppxlib.expression) ‑> ?first_f:(Ppxlib.Location.t ‑> field_name:string ‑> field_ty:Ppxlib.core_type ‑> Ppxlib.expression) ‑> ?last_f:(Ppxlib.Location.t ‑> field_name:string ‑> field_ty:Ppxlib.core_type ‑> Ppxlib.expression) ‑> lds:Ppxlib.label_declaration list ‑> init:Ppxlib.expression ‑> Ppxlib.Location.t ‑> (Ppxlib.Location.t ‑> field_name:string ‑> field_ty:Ppxlib.core_type ‑> Ppxlib.expression) ‑> Ppxlib.expression
val generate_using_fold : ?wrap_body:(Ppxlib.expression ‑> Ppxlib.expression) ‑> pass_acc:bool ‑> pass_anonymous:bool ‑> conversion_of_type:(Ppxlib.Location.t ‑> field_name:string ‑> field_ty:Ppxlib.core_type ‑> Ppxlib.expression) ‑> name:Ppxlib.pattern ‑> lds:Ppxlib.label_declaration list ‑> Ppxlib.Location.t ‑> Ppxlib.structure_item
val generate : extension_name:string ‑> record:(tps:Ppxlib.core_type list ‑> record_name:string ‑> Ppxlib.Location.t ‑> Ppxlib.label_declaration list ‑> 'new_record) ‑> loc:Ppxlib.Location.t ‑> path:string ‑> (Ppxlib.rec_flag * Ppxlib.type_declaration list) ‑> 'new_record