(Camlp4.Struct.FreeVars.Make.S.elt -> '-> 'a) ->
?env_init:Camlp4.Struct.FreeVars.Make.S.t ->
'->
object ('b)
  val env : Camlp4.Struct.FreeVars.Make.S.t
  val free : 'a
  method add_atom : Camlp4.Struct.FreeVars.Make.S.elt -> 'b
  method add_binding : Ast.binding -> 'b
  method add_patt : Ast.patt -> 'b
  method binding : Ast.binding -> 'b
  method class_expr : Ast.class_expr -> 'b
  method class_sig_item : Ast.class_sig_item -> 'b
  method class_str_item : Ast.class_str_item -> 'b
  method class_type : Ast.class_type -> 'b
  method ctyp : Ast.ctyp -> 'b
  method direction_flag : Ast.direction_flag -> 'b
  method expr : Ast.expr -> 'b
  method free : 'a
  method ident : Ast.ident -> 'b
  method list : ('-> '-> 'b) -> 'c list -> 'b
  method loc : Ast.loc -> 'b
  method match_case : Ast.match_case -> 'b
  method meta_bool : Ast.meta_bool -> 'b
  method meta_list : ('-> '-> 'b) -> 'Ast.meta_list -> 'b
  method meta_option : ('-> '-> 'b) -> 'Ast.meta_option -> 'b
  method module_binding : Ast.module_binding -> 'b
  method module_expr : Ast.module_expr -> 'b
  method module_type : Ast.module_type -> 'b
  method mutable_flag : Ast.mutable_flag -> 'b
  method override_flag : Ast.override_flag -> 'b
  method patt : Ast.patt -> 'b
  method private_flag : Ast.private_flag -> 'b
  method rec_binding : Ast.rec_binding -> 'b
  method rec_flag : Ast.rec_flag -> 'b
  method row_var_flag : Ast.row_var_flag -> 'b
  method set_env : Camlp4.Struct.FreeVars.Make.S.t -> 'b
  method sig_item : Ast.sig_item -> 'b
  method str_item : Ast.str_item -> 'b
  method string : string -> 'b
  method unknown : '-> 'b
  method virtual_flag : Ast.virtual_flag -> 'b
  method with_constr : Ast.with_constr -> 'b
end