sig   type iterator = {     attribute : Ast_iterator.iterator -> Parsetree.attribute -> unit;     attributes : Ast_iterator.iterator -> Parsetree.attribute list -> unit;     case : Ast_iterator.iterator -> Parsetree.case -> unit;     cases : Ast_iterator.iterator -> Parsetree.case list -> unit;     class_declaration :       Ast_iterator.iterator -> Parsetree.class_declaration -> unit;     class_description :       Ast_iterator.iterator -> Parsetree.class_description -> unit;     class_expr : Ast_iterator.iterator -> Parsetree.class_expr -> unit;     class_field : Ast_iterator.iterator -> Parsetree.class_field -> unit;     class_signature :       Ast_iterator.iterator -> Parsetree.class_signature -> unit;     class_structure :       Ast_iterator.iterator -> Parsetree.class_structure -> unit;     class_type : Ast_iterator.iterator -> Parsetree.class_type -> unit;     class_type_declaration :       Ast_iterator.iterator -> Parsetree.class_type_declaration -> unit;     class_type_field :       Ast_iterator.iterator -> Parsetree.class_type_field -> unit;     constructor_declaration :       Ast_iterator.iterator -> Parsetree.constructor_declaration -> unit;     expr : Ast_iterator.iterator -> Parsetree.expression -> unit;     extension : Ast_iterator.iterator -> Parsetree.extension -> unit;     extension_constructor :       Ast_iterator.iterator -> Parsetree.extension_constructor -> unit;     include_declaration :       Ast_iterator.iterator -> Parsetree.include_declaration -> unit;     include_description :       Ast_iterator.iterator -> Parsetree.include_description -> unit;     label_declaration :       Ast_iterator.iterator -> Parsetree.label_declaration -> unit;     location : Ast_iterator.iterator -> Location.t -> unit;     module_binding :       Ast_iterator.iterator -> Parsetree.module_binding -> unit;     module_declaration :       Ast_iterator.iterator -> Parsetree.module_declaration -> unit;     module_expr : Ast_iterator.iterator -> Parsetree.module_expr -> unit;     module_type : Ast_iterator.iterator -> Parsetree.module_type -> unit;     module_type_declaration :       Ast_iterator.iterator -> Parsetree.module_type_declaration -> unit;     open_description :       Ast_iterator.iterator -> Parsetree.open_description -> unit;     pat : Ast_iterator.iterator -> Parsetree.pattern -> unit;     payload : Ast_iterator.iterator -> Parsetree.payload -> unit;     signature : Ast_iterator.iterator -> Parsetree.signature -> unit;     signature_item :       Ast_iterator.iterator -> Parsetree.signature_item -> unit;     structure : Ast_iterator.iterator -> Parsetree.structure -> unit;     structure_item :       Ast_iterator.iterator -> Parsetree.structure_item -> unit;     typ : Ast_iterator.iterator -> Parsetree.core_type -> unit;     type_declaration :       Ast_iterator.iterator -> Parsetree.type_declaration -> unit;     type_extension :       Ast_iterator.iterator -> Parsetree.type_extension -> unit;     type_kind : Ast_iterator.iterator -> Parsetree.type_kind -> unit;     value_binding : Ast_iterator.iterator -> Parsetree.value_binding -> unit;     value_description :       Ast_iterator.iterator -> Parsetree.value_description -> unit;     with_constraint :       Ast_iterator.iterator -> Parsetree.with_constraint -> unit;   }   val default_iterator : Ast_iterator.iterator end