object ('a)
  method binding : binding -> 'a
  method class_expr : class_expr -> 'a
  method class_sig_item : class_sig_item -> 'a
  method class_str_item : class_str_item -> 'a
  method class_type : class_type -> 'a
  method ctyp : ctyp -> 'a
  method direction_flag : direction_flag -> 'a
  method expr : expr -> 'a
  method ident : ident -> 'a
  method list : ('-> '-> 'a) -> 'b list -> 'a
  method loc : loc -> 'a
  method match_case : match_case -> 'a
  method meta_bool : meta_bool -> 'a
  method meta_list : ('-> '-> 'a) -> 'c meta_list -> 'a
  method meta_option : ('-> '-> 'a) -> 'd meta_option -> 'a
  method module_binding : module_binding -> 'a
  method module_expr : module_expr -> 'a
  method module_type : module_type -> 'a
  method mutable_flag : mutable_flag -> 'a
  method override_flag : override_flag -> 'a
  method patt : patt -> 'a
  method private_flag : private_flag -> 'a
  method rec_binding : rec_binding -> 'a
  method rec_flag : rec_flag -> 'a
  method row_var_flag : row_var_flag -> 'a
  method sig_item : sig_item -> 'a
  method str_item : str_item -> 'a
  method string : string -> 'a
  method unknown : '-> 'a
  method virtual_flag : virtual_flag -> 'a
  method with_constr : with_constr -> 'a
end