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