sig
  type loc = Loc.t
  type meta_bool
  type 'a meta_option
  type 'a meta_list
  type ctyp
  type patt
  type expr
  type module_type
  type sig_item
  type with_constr
  type module_expr
  type str_item
  type class_type
  type class_sig_item
  type class_expr
  type class_str_item
  type match_case
  type ident
  type binding
  type rec_binding
  type module_binding
  type rec_flag
  type direction_flag
  type mutable_flag
  type private_flag
  type virtual_flag
  type row_var_flag
  type override_flag
  val loc_of_ctyp : ctyp -> loc
  val loc_of_patt : patt -> loc
  val loc_of_expr : expr -> loc
  val loc_of_module_type : module_type -> loc
  val loc_of_module_expr : module_expr -> loc
  val loc_of_sig_item : sig_item -> loc
  val loc_of_str_item : str_item -> loc
  val loc_of_class_type : class_type -> loc
  val loc_of_class_sig_item : class_sig_item -> loc
  val loc_of_class_expr : class_expr -> loc
  val loc_of_class_str_item : class_str_item -> loc
  val loc_of_with_constr : with_constr -> loc
  val loc_of_binding : binding -> loc
  val loc_of_rec_binding : rec_binding -> loc
  val loc_of_module_binding : module_binding -> loc
  val loc_of_match_case : match_case -> loc
  val loc_of_ident : ident -> loc
  class map :
    object ('a)
      method binding : binding -> binding
      method class_expr : class_expr -> class_expr
      method class_sig_item : class_sig_item -> class_sig_item
      method class_str_item : class_str_item -> class_str_item
      method class_type : class_type -> class_type
      method ctyp : ctyp -> ctyp
      method direction_flag : direction_flag -> direction_flag
      method expr : expr -> expr
      method ident : ident -> ident
      method list : ('-> '-> 'c) -> 'b list -> 'c list
      method loc : loc -> loc
      method match_case : match_case -> match_case
      method meta_bool : meta_bool -> meta_bool
      method meta_list : ('-> '-> 'e) -> 'd meta_list -> 'e meta_list
      method meta_option :
        ('-> '-> 'g) -> 'f meta_option -> 'g meta_option
      method module_binding : module_binding -> module_binding
      method module_expr : module_expr -> module_expr
      method module_type : module_type -> module_type
      method mutable_flag : mutable_flag -> mutable_flag
      method override_flag : override_flag -> override_flag
      method patt : patt -> patt
      method private_flag : private_flag -> private_flag
      method rec_binding : rec_binding -> rec_binding
      method rec_flag : rec_flag -> rec_flag
      method row_var_flag : row_var_flag -> row_var_flag
      method sig_item : sig_item -> sig_item
      method str_item : str_item -> str_item
      method string : string -> string
      method unknown : '-> 'h
      method virtual_flag : virtual_flag -> virtual_flag
      method with_constr : with_constr -> with_constr
    end
  class fold :
    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
end