sig   type mapper = {     attribute :       Ast_mapper.mapper -> Parsetree.attribute -> Parsetree.attribute;     attributes :       Ast_mapper.mapper ->       Parsetree.attribute list -> Parsetree.attribute list;     case : Ast_mapper.mapper -> Parsetree.case -> Parsetree.case;     cases : Ast_mapper.mapper -> Parsetree.case list -> Parsetree.case list;     class_declaration :       Ast_mapper.mapper ->       Parsetree.class_declaration -> Parsetree.class_declaration;     class_description :       Ast_mapper.mapper ->       Parsetree.class_description -> Parsetree.class_description;     class_expr :       Ast_mapper.mapper -> Parsetree.class_expr -> Parsetree.class_expr;     class_field :       Ast_mapper.mapper -> Parsetree.class_field -> Parsetree.class_field;     class_signature :       Ast_mapper.mapper ->       Parsetree.class_signature -> Parsetree.class_signature;     class_structure :       Ast_mapper.mapper ->       Parsetree.class_structure -> Parsetree.class_structure;     class_type :       Ast_mapper.mapper -> Parsetree.class_type -> Parsetree.class_type;     class_type_declaration :       Ast_mapper.mapper ->       Parsetree.class_type_declaration -> Parsetree.class_type_declaration;     class_type_field :       Ast_mapper.mapper ->       Parsetree.class_type_field -> Parsetree.class_type_field;     constructor_declaration :       Ast_mapper.mapper ->       Parsetree.constructor_declaration -> Parsetree.constructor_declaration;     expr : Ast_mapper.mapper -> Parsetree.expression -> Parsetree.expression;     extension :       Ast_mapper.mapper -> Parsetree.extension -> Parsetree.extension;     extension_constructor :       Ast_mapper.mapper ->       Parsetree.extension_constructor -> Parsetree.extension_constructor;     include_declaration :       Ast_mapper.mapper ->       Parsetree.include_declaration -> Parsetree.include_declaration;     include_description :       Ast_mapper.mapper ->       Parsetree.include_description -> Parsetree.include_description;     label_declaration :       Ast_mapper.mapper ->       Parsetree.label_declaration -> Parsetree.label_declaration;     location : Ast_mapper.mapper -> Location.t -> Location.t;     module_binding :       Ast_mapper.mapper ->       Parsetree.module_binding -> Parsetree.module_binding;     module_declaration :       Ast_mapper.mapper ->       Parsetree.module_declaration -> Parsetree.module_declaration;     module_expr :       Ast_mapper.mapper -> Parsetree.module_expr -> Parsetree.module_expr;     module_type :       Ast_mapper.mapper -> Parsetree.module_type -> Parsetree.module_type;     module_type_declaration :       Ast_mapper.mapper ->       Parsetree.module_type_declaration -> Parsetree.module_type_declaration;     open_description :       Ast_mapper.mapper ->       Parsetree.open_description -> Parsetree.open_description;     pat : Ast_mapper.mapper -> Parsetree.pattern -> Parsetree.pattern;     payload : Ast_mapper.mapper -> Parsetree.payload -> Parsetree.payload;     signature :       Ast_mapper.mapper -> Parsetree.signature -> Parsetree.signature;     signature_item :       Ast_mapper.mapper ->       Parsetree.signature_item -> Parsetree.signature_item;     structure :       Ast_mapper.mapper -> Parsetree.structure -> Parsetree.structure;     structure_item :       Ast_mapper.mapper ->       Parsetree.structure_item -> Parsetree.structure_item;     typ : Ast_mapper.mapper -> Parsetree.core_type -> Parsetree.core_type;     type_declaration :       Ast_mapper.mapper ->       Parsetree.type_declaration -> Parsetree.type_declaration;     type_extension :       Ast_mapper.mapper ->       Parsetree.type_extension -> Parsetree.type_extension;     type_kind :       Ast_mapper.mapper -> Parsetree.type_kind -> Parsetree.type_kind;     value_binding :       Ast_mapper.mapper -> Parsetree.value_binding -> Parsetree.value_binding;     value_description :       Ast_mapper.mapper ->       Parsetree.value_description -> Parsetree.value_description;     with_constraint :       Ast_mapper.mapper ->       Parsetree.with_constraint -> Parsetree.with_constraint;   }   val default_mapper : Ast_mapper.mapper   val tool_name : unit -> string   val apply : source:string -> target:string -> Ast_mapper.mapper -> unit   val run_main : (string list -> Ast_mapper.mapper) -> unit   val register_function :     (string -> (string list -> Ast_mapper.mapper) -> unit) Pervasives.ref   val register : string -> (string list -> Ast_mapper.mapper) -> unit   val map_opt : ('-> 'b) -> 'a option -> 'b option   val extension_of_error : Location.error -> Parsetree.extension   val attribute_of_warning : Location.t -> string -> Parsetree.attribute   val add_ppx_context_str :     tool_name:string -> Parsetree.structure -> Parsetree.structure   val add_ppx_context_sig :     tool_name:string -> Parsetree.signature -> Parsetree.signature   val drop_ppx_context_str :     restore:bool -> Parsetree.structure -> Parsetree.structure   val drop_ppx_context_sig :     restore:bool -> Parsetree.signature -> Parsetree.signature   val set_cookie : string -> Parsetree.expression -> unit   val get_cookie : string -> Parsetree.expression option end