Module UA.Mappers

val regenerate_span_ids : < visit_F__arbitrary_lhs : unit -> FA.arbitrary_lhs -> FA.arbitrary_lhs ; visit_F__as_pattern : unit -> FA.as_pattern -> FA.as_pattern ; visit_F__block : unit -> FA.block -> FA.block ; visit_F__break : unit -> FA.break -> FA.break ; visit_F__construct_base : unit -> FA.construct_base -> FA.construct_base ; visit_F__continue : unit -> FA.continue -> FA.continue ; visit_F__dyn : unit -> FA.dyn -> FA.dyn ; visit_F__early_exit : unit -> FA.early_exit -> FA.early_exit ; visit_F__for_index_loop : unit -> FA.for_index_loop -> FA.for_index_loop ; visit_F__for_loop : unit -> FA.for_loop -> FA.for_loop ; visit_F__lifetime : unit -> FA.lifetime -> FA.lifetime ; visit_F__loop : unit -> FA.loop -> FA.loop ; visit_F__macro : unit -> FA.macro -> FA.macro ; visit_F__match_guard : unit -> FA.match_guard -> FA.match_guard ; visit_F__monadic_action : unit -> FA.monadic_action -> FA.monadic_action ; visit_F__monadic_binding : unit -> FA.monadic_binding -> FA.monadic_binding ; visit_F__mutable_pointer : unit -> FA.mutable_pointer -> FA.mutable_pointer ; visit_F__mutable_reference : unit -> FA.mutable_reference -> FA.mutable_reference ; visit_F__mutable_variable : unit -> FA.mutable_variable -> FA.mutable_variable ; visit_F__nontrivial_lhs : unit -> FA.nontrivial_lhs -> FA.nontrivial_lhs ; visit_F__question_mark : unit -> FA.question_mark -> FA.question_mark ; visit_F__raw_pointer : unit -> FA.raw_pointer -> FA.raw_pointer ; visit_F__reference : unit -> FA.reference -> FA.reference ; visit_F__slice : unit -> FA.slice -> FA.slice ; visit_F__state_passing_loop : unit -> FA.state_passing_loop -> FA.state_passing_loop ; visit_F__trait_item_default : unit -> FA.trait_item_default -> FA.trait_item_default ; visit_F__unsafe : unit -> FA.unsafe -> FA.unsafe ; visit_F__while_loop : unit -> FA.while_loop -> FA.while_loop ; visit_Local_ident__t : unit -> Local_ident.t -> Local_ident.t ; visit_arm : unit -> Hax_engine__Ast.Make(FA).arm -> Hax_engine__Ast.Make(FA).arm ; visit_arm' : unit -> Hax_engine__Ast.Make(FA).arm' -> Hax_engine__Ast.Make(FA).arm' ; visit_attr : unit -> Ast.attr -> Ast.attr ; visit_attrs : unit -> Ast.attrs -> Ast.attrs ; visit_binding_mode : unit -> Hax_engine__Ast.Make(FA).binding_mode -> Hax_engine__Ast.Make(FA).binding_mode ; visit_bool : unit -> Base.bool -> Base.bool ; visit_borrow_kind : unit -> Hax_engine__Ast.Make(FA).borrow_kind -> Hax_engine__Ast.Make(FA).borrow_kind ; visit_char : unit -> Base.char -> Base.char ; visit_concrete_ident : unit -> Ast.concrete_ident -> Ast.concrete_ident ; visit_dyn_trait_goal : unit -> Hax_engine__Ast.Make(FA).dyn_trait_goal -> Hax_engine__Ast.Make(FA).dyn_trait_goal ; visit_expr : unit -> Hax_engine__Ast.Make(FA).expr -> Hax_engine__Ast.Make(FA).expr ; visit_expr' : unit -> Hax_engine__Ast.Make(FA).expr' -> Hax_engine__Ast.Make(FA).expr' ; visit_field_pat : unit -> Hax_engine__Ast.Make(FA).field_pat -> Hax_engine__Ast.Make(FA).field_pat ; visit_float_kind : unit -> Ast.float_kind -> Ast.float_kind ; visit_generic_constraint : unit -> Hax_engine__Ast.Make(FA).generic_constraint -> Hax_engine__Ast.Make(FA).generic_constraint ; visit_generic_param : unit -> Hax_engine__Ast.Make(FA).generic_param -> Hax_engine__Ast.Make(FA).generic_param ; visit_generic_param_kind : unit -> Hax_engine__Ast.Make(FA).generic_param_kind -> Hax_engine__Ast.Make(FA).generic_param_kind ; visit_generic_value : unit -> Hax_engine__Ast.Make(FA).generic_value -> Hax_engine__Ast.Make(FA).generic_value ; visit_generics : unit -> Hax_engine__Ast.Make(FA).generics -> Hax_engine__Ast.Make(FA).generics ; visit_global_ident : unit -> Ast.global_ident -> Ast.global_ident ; visit_guard : unit -> Hax_engine__Ast.Make(FA).guard -> Hax_engine__Ast.Make(FA).guard ; visit_guard' : unit -> Hax_engine__Ast.Make(FA).guard' -> Hax_engine__Ast.Make(FA).guard' ; visit_impl_expr : unit -> Hax_engine__Ast.Make(FA).impl_expr -> Hax_engine__Ast.Make(FA).impl_expr ; visit_impl_expr_kind : unit -> Hax_engine__Ast.Make(FA).impl_expr_kind -> Hax_engine__Ast.Make(FA).impl_expr_kind ; visit_impl_ident : unit -> Hax_engine__Ast.Make(FA).impl_ident -> Hax_engine__Ast.Make(FA).impl_ident ; visit_impl_item : unit -> Hax_engine__Ast.Make(FA).impl_item -> Hax_engine__Ast.Make(FA).impl_item ; visit_impl_item' : unit -> Hax_engine__Ast.Make(FA).impl_item' -> Hax_engine__Ast.Make(FA).impl_item' ; visit_int_kind : unit -> Ast.int_kind -> Ast.int_kind ; visit_item : unit -> Hax_engine__Ast.Make(FA).item -> Hax_engine__Ast.Make(FA).item ; visit_item' : unit -> Hax_engine__Ast.Make(FA).item' -> Hax_engine__Ast.Make(FA).item' ; visit_lhs : unit -> Hax_engine__Ast.Make(FA).lhs -> Hax_engine__Ast.Make(FA).lhs ; visit_list : 'a. (unit -> 'a -> 'a) -> unit -> 'a Base.list -> 'a Base.list ; visit_literal : unit -> Ast.literal -> Ast.literal ; visit_local_ident : unit -> Ast.local_ident -> Ast.local_ident ; visit_loop_kind : unit -> Hax_engine__Ast.Make(FA).loop_kind -> Hax_engine__Ast.Make(FA).loop_kind ; visit_loop_state : unit -> Hax_engine__Ast.Make(FA).loop_state -> Hax_engine__Ast.Make(FA).loop_state ; visit_modul : unit -> Hax_engine__Ast.Make(FA).item Prelude.list -> Hax_engine__Ast.Make(FA).item Prelude.list ; visit_mutability : 'mut_witness. (unit -> 'mut_witness -> 'mut_witness) -> unit -> 'mut_witness Ast.mutability -> 'mut_witness Ast.mutability ; visit_option : 'a. (unit -> 'a -> 'a) -> unit -> 'a Base.option -> 'a Base.option ; visit_param : unit -> Hax_engine__Ast.Make(FA).param -> Hax_engine__Ast.Make(FA).param ; visit_pat : unit -> Hax_engine__Ast.Make(FA).pat -> Hax_engine__Ast.Make(FA).pat ; visit_pat' : unit -> Hax_engine__Ast.Make(FA).pat' -> Hax_engine__Ast.Make(FA).pat' ; visit_prim___tuple_2 : 't0 't1. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> unit -> ('t0 * 't1) -> 't0 * 't1 ; visit_prim___tuple_3 : 't0 't1 't2. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> (unit -> 't2 -> 't2) -> unit -> ('t0 * 't1 * 't2) -> 't0 * 't1 * 't2 ; visit_prim___tuple_4 : 't0 't1 't2 't3. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> (unit -> 't2 -> 't2) -> (unit -> 't3 -> 't3) -> unit -> ('t0 * 't1 * 't2 * 't3) -> 't0 * 't1 * 't2 * 't3 ; visit_projection_predicate : unit -> Hax_engine__Ast.Make(FA).projection_predicate -> Hax_engine__Ast.Make(FA).projection_predicate ; visit_quote : unit -> Hax_engine__Ast.Make(FA).quote -> Hax_engine__Ast.Make(FA).quote ; visit_safety_kind : unit -> Hax_engine__Ast.Make(FA).safety_kind -> Hax_engine__Ast.Make(FA).safety_kind ; visit_span : unit -> Ast.span -> Ast.span ; visit_string : unit -> Base.string -> Base.string ; visit_supported_monads : unit -> Hax_engine__Ast.Make(FA).supported_monads -> Hax_engine__Ast.Make(FA).supported_monads ; visit_todo : unit -> Ast.todo -> Ast.todo ; visit_trait_goal : unit -> Hax_engine__Ast.Make(FA).trait_goal -> Hax_engine__Ast.Make(FA).trait_goal ; visit_trait_item : unit -> Hax_engine__Ast.Make(FA).trait_item -> Hax_engine__Ast.Make(FA).trait_item ; visit_trait_item' : unit -> Hax_engine__Ast.Make(FA).trait_item' -> Hax_engine__Ast.Make(FA).trait_item' ; visit_ty : unit -> Hax_engine__Ast.Make(FA).ty -> Hax_engine__Ast.Make(FA).ty ; visit_variant : unit -> Hax_engine__Ast.Make(FA).variant -> Hax_engine__Ast.Make(FA).variant >
val normalize_borrow_mut : < visit_F__arbitrary_lhs : unit -> FA.arbitrary_lhs -> FA.arbitrary_lhs ; visit_F__as_pattern : unit -> FA.as_pattern -> FA.as_pattern ; visit_F__block : unit -> FA.block -> FA.block ; visit_F__break : unit -> FA.break -> FA.break ; visit_F__construct_base : unit -> FA.construct_base -> FA.construct_base ; visit_F__continue : unit -> FA.continue -> FA.continue ; visit_F__dyn : unit -> FA.dyn -> FA.dyn ; visit_F__early_exit : unit -> FA.early_exit -> FA.early_exit ; visit_F__for_index_loop : unit -> FA.for_index_loop -> FA.for_index_loop ; visit_F__for_loop : unit -> FA.for_loop -> FA.for_loop ; visit_F__lifetime : unit -> FA.lifetime -> FA.lifetime ; visit_F__loop : unit -> FA.loop -> FA.loop ; visit_F__macro : unit -> FA.macro -> FA.macro ; visit_F__match_guard : unit -> FA.match_guard -> FA.match_guard ; visit_F__monadic_action : unit -> FA.monadic_action -> FA.monadic_action ; visit_F__monadic_binding : unit -> FA.monadic_binding -> FA.monadic_binding ; visit_F__mutable_pointer : unit -> FA.mutable_pointer -> FA.mutable_pointer ; visit_F__mutable_reference : unit -> FA.mutable_reference -> FA.mutable_reference ; visit_F__mutable_variable : unit -> FA.mutable_variable -> FA.mutable_variable ; visit_F__nontrivial_lhs : unit -> FA.nontrivial_lhs -> FA.nontrivial_lhs ; visit_F__question_mark : unit -> FA.question_mark -> FA.question_mark ; visit_F__raw_pointer : unit -> FA.raw_pointer -> FA.raw_pointer ; visit_F__reference : unit -> FA.reference -> FA.reference ; visit_F__slice : unit -> FA.slice -> FA.slice ; visit_F__state_passing_loop : unit -> FA.state_passing_loop -> FA.state_passing_loop ; visit_F__trait_item_default : unit -> FA.trait_item_default -> FA.trait_item_default ; visit_F__unsafe : unit -> FA.unsafe -> FA.unsafe ; visit_F__while_loop : unit -> FA.while_loop -> FA.while_loop ; visit_Local_ident__t : unit -> Local_ident.t -> Local_ident.t ; visit_arm : unit -> Hax_engine__Ast.Make(FA).arm -> Hax_engine__Ast.Make(FA).arm ; visit_arm' : unit -> Hax_engine__Ast.Make(FA).arm' -> Hax_engine__Ast.Make(FA).arm' ; visit_attr : unit -> Ast.attr -> Ast.attr ; visit_attrs : unit -> Ast.attrs -> Ast.attrs ; visit_binding_mode : unit -> Hax_engine__Ast.Make(FA).binding_mode -> Hax_engine__Ast.Make(FA).binding_mode ; visit_bool : unit -> Base.bool -> Base.bool ; visit_borrow_kind : unit -> Hax_engine__Ast.Make(FA).borrow_kind -> Hax_engine__Ast.Make(FA).borrow_kind ; visit_char : unit -> Base.char -> Base.char ; visit_concrete_ident : unit -> Ast.concrete_ident -> Ast.concrete_ident ; visit_dyn_trait_goal : unit -> Hax_engine__Ast.Make(FA).dyn_trait_goal -> Hax_engine__Ast.Make(FA).dyn_trait_goal ; visit_expr : unit -> Hax_engine__Ast.Make(FA).expr -> Hax_engine__Ast.Make(FA).expr ; visit_expr' : unit -> Hax_engine__Ast.Make(FA).expr' -> Hax_engine__Ast.Make(FA).expr' ; visit_field_pat : unit -> Hax_engine__Ast.Make(FA).field_pat -> Hax_engine__Ast.Make(FA).field_pat ; visit_float_kind : unit -> Ast.float_kind -> Ast.float_kind ; visit_generic_constraint : unit -> Hax_engine__Ast.Make(FA).generic_constraint -> Hax_engine__Ast.Make(FA).generic_constraint ; visit_generic_param : unit -> Hax_engine__Ast.Make(FA).generic_param -> Hax_engine__Ast.Make(FA).generic_param ; visit_generic_param_kind : unit -> Hax_engine__Ast.Make(FA).generic_param_kind -> Hax_engine__Ast.Make(FA).generic_param_kind ; visit_generic_value : unit -> Hax_engine__Ast.Make(FA).generic_value -> Hax_engine__Ast.Make(FA).generic_value ; visit_generics : unit -> Hax_engine__Ast.Make(FA).generics -> Hax_engine__Ast.Make(FA).generics ; visit_global_ident : unit -> Ast.global_ident -> Ast.global_ident ; visit_guard : unit -> Hax_engine__Ast.Make(FA).guard -> Hax_engine__Ast.Make(FA).guard ; visit_guard' : unit -> Hax_engine__Ast.Make(FA).guard' -> Hax_engine__Ast.Make(FA).guard' ; visit_impl_expr : unit -> Hax_engine__Ast.Make(FA).impl_expr -> Hax_engine__Ast.Make(FA).impl_expr ; visit_impl_expr_kind : unit -> Hax_engine__Ast.Make(FA).impl_expr_kind -> Hax_engine__Ast.Make(FA).impl_expr_kind ; visit_impl_ident : unit -> Hax_engine__Ast.Make(FA).impl_ident -> Hax_engine__Ast.Make(FA).impl_ident ; visit_impl_item : unit -> Hax_engine__Ast.Make(FA).impl_item -> Hax_engine__Ast.Make(FA).impl_item ; visit_impl_item' : unit -> Hax_engine__Ast.Make(FA).impl_item' -> Hax_engine__Ast.Make(FA).impl_item' ; visit_int_kind : unit -> Ast.int_kind -> Ast.int_kind ; visit_item : unit -> Hax_engine__Ast.Make(FA).item -> Hax_engine__Ast.Make(FA).item ; visit_item' : unit -> Hax_engine__Ast.Make(FA).item' -> Hax_engine__Ast.Make(FA).item' ; visit_lhs : unit -> Hax_engine__Ast.Make(FA).lhs -> Hax_engine__Ast.Make(FA).lhs ; visit_list : 'a. (unit -> 'a -> 'a) -> unit -> 'a Base.list -> 'a Base.list ; visit_literal : unit -> Ast.literal -> Ast.literal ; visit_local_ident : unit -> Ast.local_ident -> Ast.local_ident ; visit_loop_kind : unit -> Hax_engine__Ast.Make(FA).loop_kind -> Hax_engine__Ast.Make(FA).loop_kind ; visit_loop_state : unit -> Hax_engine__Ast.Make(FA).loop_state -> Hax_engine__Ast.Make(FA).loop_state ; visit_modul : unit -> Hax_engine__Ast.Make(FA).item Prelude.list -> Hax_engine__Ast.Make(FA).item Prelude.list ; visit_mutability : 'mut_witness. (unit -> 'mut_witness -> 'mut_witness) -> unit -> 'mut_witness Ast.mutability -> 'mut_witness Ast.mutability ; visit_option : 'a. (unit -> 'a -> 'a) -> unit -> 'a Base.option -> 'a Base.option ; visit_param : unit -> Hax_engine__Ast.Make(FA).param -> Hax_engine__Ast.Make(FA).param ; visit_pat : unit -> Hax_engine__Ast.Make(FA).pat -> Hax_engine__Ast.Make(FA).pat ; visit_pat' : unit -> Hax_engine__Ast.Make(FA).pat' -> Hax_engine__Ast.Make(FA).pat' ; visit_prim___tuple_2 : 't0 't1. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> unit -> ('t0 * 't1) -> 't0 * 't1 ; visit_prim___tuple_3 : 't0 't1 't2. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> (unit -> 't2 -> 't2) -> unit -> ('t0 * 't1 * 't2) -> 't0 * 't1 * 't2 ; visit_prim___tuple_4 : 't0 't1 't2 't3. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> (unit -> 't2 -> 't2) -> (unit -> 't3 -> 't3) -> unit -> ('t0 * 't1 * 't2 * 't3) -> 't0 * 't1 * 't2 * 't3 ; visit_projection_predicate : unit -> Hax_engine__Ast.Make(FA).projection_predicate -> Hax_engine__Ast.Make(FA).projection_predicate ; visit_quote : unit -> Hax_engine__Ast.Make(FA).quote -> Hax_engine__Ast.Make(FA).quote ; visit_safety_kind : unit -> Hax_engine__Ast.Make(FA).safety_kind -> Hax_engine__Ast.Make(FA).safety_kind ; visit_span : unit -> Ast.span -> Ast.span ; visit_string : unit -> Base.string -> Base.string ; visit_supported_monads : unit -> Hax_engine__Ast.Make(FA).supported_monads -> Hax_engine__Ast.Make(FA).supported_monads ; visit_todo : unit -> Ast.todo -> Ast.todo ; visit_trait_goal : unit -> Hax_engine__Ast.Make(FA).trait_goal -> Hax_engine__Ast.Make(FA).trait_goal ; visit_trait_item : unit -> Hax_engine__Ast.Make(FA).trait_item -> Hax_engine__Ast.Make(FA).trait_item ; visit_trait_item' : unit -> Hax_engine__Ast.Make(FA).trait_item' -> Hax_engine__Ast.Make(FA).trait_item' ; visit_ty : unit -> Hax_engine__Ast.Make(FA).ty -> Hax_engine__Ast.Make(FA).ty ; visit_variant : unit -> Hax_engine__Ast.Make(FA).variant -> Hax_engine__Ast.Make(FA).variant >
val rename_generic_constraints : < visit_F__arbitrary_lhs : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.arbitrary_lhs -> FA.arbitrary_lhs ; visit_F__as_pattern : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.as_pattern -> FA.as_pattern ; visit_F__block : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.block -> FA.block ; visit_F__break : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.break -> FA.break ; visit_F__construct_base : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.construct_base -> FA.construct_base ; visit_F__continue : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.continue -> FA.continue ; visit_F__dyn : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.dyn -> FA.dyn ; visit_F__early_exit : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.early_exit -> FA.early_exit ; visit_F__for_index_loop : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.for_index_loop -> FA.for_index_loop ; visit_F__for_loop : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.for_loop -> FA.for_loop ; visit_F__lifetime : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.lifetime -> FA.lifetime ; visit_F__loop : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.loop -> FA.loop ; visit_F__macro : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.macro -> FA.macro ; visit_F__match_guard : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.match_guard -> FA.match_guard ; visit_F__monadic_action : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.monadic_action -> FA.monadic_action ; visit_F__monadic_binding : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.monadic_binding -> FA.monadic_binding ; visit_F__mutable_pointer : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.mutable_pointer -> FA.mutable_pointer ; visit_F__mutable_reference : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.mutable_reference -> FA.mutable_reference ; visit_F__mutable_variable : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.mutable_variable -> FA.mutable_variable ; visit_F__nontrivial_lhs : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.nontrivial_lhs -> FA.nontrivial_lhs ; visit_F__question_mark : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.question_mark -> FA.question_mark ; visit_F__raw_pointer : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.raw_pointer -> FA.raw_pointer ; visit_F__reference : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.reference -> FA.reference ; visit_F__slice : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.slice -> FA.slice ; visit_F__state_passing_loop : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.state_passing_loop -> FA.state_passing_loop ; visit_F__trait_item_default : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.trait_item_default -> FA.trait_item_default ; visit_F__unsafe : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.unsafe -> FA.unsafe ; visit_F__while_loop : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> FA.while_loop -> FA.while_loop ; visit_Local_ident__t : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Local_ident.t -> Local_ident.t ; visit_arm : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).arm -> Hax_engine__Ast.Make(FA).arm ; visit_arm' : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).arm' -> Hax_engine__Ast.Make(FA).arm' ; visit_attr : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Ast.attr -> Ast.attr ; visit_attrs : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Ast.attrs -> Ast.attrs ; visit_binding_mode : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).binding_mode -> Hax_engine__Ast.Make(FA).binding_mode ; visit_bool : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Base.bool -> Base.bool ; visit_borrow_kind : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).borrow_kind -> Hax_engine__Ast.Make(FA).borrow_kind ; visit_char : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Base.char -> Base.char ; visit_concrete_ident : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Ast.concrete_ident -> Ast.concrete_ident ; visit_dyn_trait_goal : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).dyn_trait_goal -> Hax_engine__Ast.Make(FA).dyn_trait_goal ; visit_expr : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).expr -> Hax_engine__Ast.Make(FA).expr ; visit_expr' : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).expr' -> Hax_engine__Ast.Make(FA).expr' ; visit_field_pat : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).field_pat -> Hax_engine__Ast.Make(FA).field_pat ; visit_float_kind : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Ast.float_kind -> Ast.float_kind ; visit_generic_constraint : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).generic_constraint -> Hax_engine__Ast.Make(FA).generic_constraint ; visit_generic_param : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).generic_param -> Hax_engine__Ast.Make(FA).generic_param ; visit_generic_param_kind : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).generic_param_kind -> Hax_engine__Ast.Make(FA).generic_param_kind ; visit_generic_value : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).generic_value -> Hax_engine__Ast.Make(FA).generic_value ; visit_generics : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).generics -> Hax_engine__Ast.Make(FA).generics ; visit_global_ident : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Ast.global_ident -> Ast.global_ident ; visit_guard : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).guard -> Hax_engine__Ast.Make(FA).guard ; visit_guard' : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).guard' -> Hax_engine__Ast.Make(FA).guard' ; visit_impl_expr : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).impl_expr -> Hax_engine__Ast.Make(FA).impl_expr ; visit_impl_expr_kind : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).impl_expr_kind -> Hax_engine__Ast.Make(FA).impl_expr_kind ; visit_impl_ident : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).impl_ident -> Hax_engine__Ast.Make(FA).impl_ident ; visit_impl_item : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).impl_item -> Hax_engine__Ast.Make(FA).impl_item ; visit_impl_item' : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).impl_item' -> Hax_engine__Ast.Make(FA).impl_item' ; visit_int_kind : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Ast.int_kind -> Ast.int_kind ; visit_item : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).item -> Hax_engine__Ast.Make(FA).item ; visit_item' : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).item' -> Hax_engine__Ast.Make(FA).item' ; visit_lhs : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).lhs -> Hax_engine__Ast.Make(FA).lhs ; visit_list : 'a. ((Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> 'a -> 'a) -> (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> 'a Base.list -> 'a Base.list ; visit_literal : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Ast.literal -> Ast.literal ; visit_local_ident : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Ast.local_ident -> Ast.local_ident ; visit_loop_kind : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).loop_kind -> Hax_engine__Ast.Make(FA).loop_kind ; visit_loop_state : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).loop_state -> Hax_engine__Ast.Make(FA).loop_state ; visit_modul : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).item Prelude.list -> Hax_engine__Ast.Make(FA).item Prelude.list ; visit_mutability : 'mut_witness. ((Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> 'mut_witness -> 'mut_witness) -> (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> 'mut_witness Ast.mutability -> 'mut_witness Ast.mutability ; visit_option : 'a. ((Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> 'a -> 'a) -> (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> 'a Base.option -> 'a Base.option ; visit_param : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).param -> Hax_engine__Ast.Make(FA).param ; visit_pat : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).pat -> Hax_engine__Ast.Make(FA).pat ; visit_pat' : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).pat' -> Hax_engine__Ast.Make(FA).pat' ; visit_prim___tuple_2 : 't0 't1. ((Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> 't0 -> 't0) -> ((Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> 't1 -> 't1) -> (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> ('t0 * 't1) -> 't0 * 't1 ; visit_prim___tuple_3 : 't0 't1 't2. ((Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> 't0 -> 't0) -> ((Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> 't1 -> 't1) -> ((Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> 't2 -> 't2) -> (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> ('t0 * 't1 * 't2) -> 't0 * 't1 * 't2 ; visit_prim___tuple_4 : 't0 't1 't2 't3. ((Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> 't0 -> 't0) -> ((Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> 't1 -> 't1) -> ((Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> 't2 -> 't2) -> ((Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> 't3 -> 't3) -> (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> ('t0 * 't1 * 't2 * 't3) -> 't0 * 't1 * 't2 * 't3 ; visit_projection_predicate : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).projection_predicate -> Hax_engine__Ast.Make(FA).projection_predicate ; visit_quote : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).quote -> Hax_engine__Ast.Make(FA).quote ; visit_safety_kind : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).safety_kind -> Hax_engine__Ast.Make(FA).safety_kind ; visit_span : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Ast.span -> Ast.span ; visit_string : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Base.string -> Base.string ; visit_supported_monads : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).supported_monads -> Hax_engine__Ast.Make(FA).supported_monads ; visit_todo : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Ast.todo -> Ast.todo ; visit_trait_goal : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).trait_goal -> Hax_engine__Ast.Make(FA).trait_goal ; visit_trait_item : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).trait_item -> Hax_engine__Ast.Make(FA).trait_item ; visit_trait_item' : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).trait_item' -> Hax_engine__Ast.Make(FA).trait_item' ; visit_ty : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).ty -> Hax_engine__Ast.Make(FA).ty ; visit_variant : (Prelude.bool * (Prelude.string, Prelude.string) Hax_engine.Prelude.Hashtbl.t) -> Hax_engine__Ast.Make(FA).variant -> Hax_engine__Ast.Make(FA).variant >
val drop_bodies : < visit_F__arbitrary_lhs : unit -> FA.arbitrary_lhs -> FA.arbitrary_lhs ; visit_F__as_pattern : unit -> FA.as_pattern -> FA.as_pattern ; visit_F__block : unit -> FA.block -> FA.block ; visit_F__break : unit -> FA.break -> FA.break ; visit_F__construct_base : unit -> FA.construct_base -> FA.construct_base ; visit_F__continue : unit -> FA.continue -> FA.continue ; visit_F__dyn : unit -> FA.dyn -> FA.dyn ; visit_F__early_exit : unit -> FA.early_exit -> FA.early_exit ; visit_F__for_index_loop : unit -> FA.for_index_loop -> FA.for_index_loop ; visit_F__for_loop : unit -> FA.for_loop -> FA.for_loop ; visit_F__lifetime : unit -> FA.lifetime -> FA.lifetime ; visit_F__loop : unit -> FA.loop -> FA.loop ; visit_F__macro : unit -> FA.macro -> FA.macro ; visit_F__match_guard : unit -> FA.match_guard -> FA.match_guard ; visit_F__monadic_action : unit -> FA.monadic_action -> FA.monadic_action ; visit_F__monadic_binding : unit -> FA.monadic_binding -> FA.monadic_binding ; visit_F__mutable_pointer : unit -> FA.mutable_pointer -> FA.mutable_pointer ; visit_F__mutable_reference : unit -> FA.mutable_reference -> FA.mutable_reference ; visit_F__mutable_variable : unit -> FA.mutable_variable -> FA.mutable_variable ; visit_F__nontrivial_lhs : unit -> FA.nontrivial_lhs -> FA.nontrivial_lhs ; visit_F__question_mark : unit -> FA.question_mark -> FA.question_mark ; visit_F__raw_pointer : unit -> FA.raw_pointer -> FA.raw_pointer ; visit_F__reference : unit -> FA.reference -> FA.reference ; visit_F__slice : unit -> FA.slice -> FA.slice ; visit_F__state_passing_loop : unit -> FA.state_passing_loop -> FA.state_passing_loop ; visit_F__trait_item_default : unit -> FA.trait_item_default -> FA.trait_item_default ; visit_F__unsafe : unit -> FA.unsafe -> FA.unsafe ; visit_F__while_loop : unit -> FA.while_loop -> FA.while_loop ; visit_Local_ident__t : unit -> Local_ident.t -> Local_ident.t ; visit_arm : unit -> Hax_engine__Ast.Make(FA).arm -> Hax_engine__Ast.Make(FA).arm ; visit_arm' : unit -> Hax_engine__Ast.Make(FA).arm' -> Hax_engine__Ast.Make(FA).arm' ; visit_attr : unit -> Ast.attr -> Ast.attr ; visit_attrs : unit -> Ast.attrs -> Ast.attrs ; visit_binding_mode : unit -> Hax_engine__Ast.Make(FA).binding_mode -> Hax_engine__Ast.Make(FA).binding_mode ; visit_bool : unit -> Base.bool -> Base.bool ; visit_borrow_kind : unit -> Hax_engine__Ast.Make(FA).borrow_kind -> Hax_engine__Ast.Make(FA).borrow_kind ; visit_char : unit -> Base.char -> Base.char ; visit_concrete_ident : unit -> Ast.concrete_ident -> Ast.concrete_ident ; visit_dyn_trait_goal : unit -> Hax_engine__Ast.Make(FA).dyn_trait_goal -> Hax_engine__Ast.Make(FA).dyn_trait_goal ; visit_expr : unit -> Hax_engine__Ast.Make(FA).expr -> Hax_engine__Ast.Make(FA).expr ; visit_expr' : unit -> Hax_engine__Ast.Make(FA).expr' -> Hax_engine__Ast.Make(FA).expr' ; visit_field_pat : unit -> Hax_engine__Ast.Make(FA).field_pat -> Hax_engine__Ast.Make(FA).field_pat ; visit_float_kind : unit -> Ast.float_kind -> Ast.float_kind ; visit_generic_constraint : unit -> Hax_engine__Ast.Make(FA).generic_constraint -> Hax_engine__Ast.Make(FA).generic_constraint ; visit_generic_param : unit -> Hax_engine__Ast.Make(FA).generic_param -> Hax_engine__Ast.Make(FA).generic_param ; visit_generic_param_kind : unit -> Hax_engine__Ast.Make(FA).generic_param_kind -> Hax_engine__Ast.Make(FA).generic_param_kind ; visit_generic_value : unit -> Hax_engine__Ast.Make(FA).generic_value -> Hax_engine__Ast.Make(FA).generic_value ; visit_generics : unit -> Hax_engine__Ast.Make(FA).generics -> Hax_engine__Ast.Make(FA).generics ; visit_global_ident : unit -> Ast.global_ident -> Ast.global_ident ; visit_guard : unit -> Hax_engine__Ast.Make(FA).guard -> Hax_engine__Ast.Make(FA).guard ; visit_guard' : unit -> Hax_engine__Ast.Make(FA).guard' -> Hax_engine__Ast.Make(FA).guard' ; visit_impl_expr : unit -> Hax_engine__Ast.Make(FA).impl_expr -> Hax_engine__Ast.Make(FA).impl_expr ; visit_impl_expr_kind : unit -> Hax_engine__Ast.Make(FA).impl_expr_kind -> Hax_engine__Ast.Make(FA).impl_expr_kind ; visit_impl_ident : unit -> Hax_engine__Ast.Make(FA).impl_ident -> Hax_engine__Ast.Make(FA).impl_ident ; visit_impl_item : unit -> Hax_engine__Ast.Make(FA).impl_item -> Hax_engine__Ast.Make(FA).impl_item ; visit_impl_item' : unit -> Hax_engine__Ast.Make(FA).impl_item' -> Hax_engine__Ast.Make(FA).impl_item' ; visit_int_kind : unit -> Ast.int_kind -> Ast.int_kind ; visit_item : unit -> Hax_engine__Ast.Make(FA).item -> Hax_engine__Ast.Make(FA).item ; visit_item' : unit -> Hax_engine__Ast.Make(FA).item' -> Hax_engine__Ast.Make(FA).item' ; visit_lhs : unit -> Hax_engine__Ast.Make(FA).lhs -> Hax_engine__Ast.Make(FA).lhs ; visit_list : 'a. (unit -> 'a -> 'a) -> unit -> 'a Base.list -> 'a Base.list ; visit_literal : unit -> Ast.literal -> Ast.literal ; visit_local_ident : unit -> Ast.local_ident -> Ast.local_ident ; visit_loop_kind : unit -> Hax_engine__Ast.Make(FA).loop_kind -> Hax_engine__Ast.Make(FA).loop_kind ; visit_loop_state : unit -> Hax_engine__Ast.Make(FA).loop_state -> Hax_engine__Ast.Make(FA).loop_state ; visit_modul : unit -> Hax_engine__Ast.Make(FA).item Prelude.list -> Hax_engine__Ast.Make(FA).item Prelude.list ; visit_mutability : 'mut_witness. (unit -> 'mut_witness -> 'mut_witness) -> unit -> 'mut_witness Ast.mutability -> 'mut_witness Ast.mutability ; visit_option : 'a. (unit -> 'a -> 'a) -> unit -> 'a Base.option -> 'a Base.option ; visit_param : unit -> Hax_engine__Ast.Make(FA).param -> Hax_engine__Ast.Make(FA).param ; visit_pat : unit -> Hax_engine__Ast.Make(FA).pat -> Hax_engine__Ast.Make(FA).pat ; visit_pat' : unit -> Hax_engine__Ast.Make(FA).pat' -> Hax_engine__Ast.Make(FA).pat' ; visit_prim___tuple_2 : 't0 't1. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> unit -> ('t0 * 't1) -> 't0 * 't1 ; visit_prim___tuple_3 : 't0 't1 't2. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> (unit -> 't2 -> 't2) -> unit -> ('t0 * 't1 * 't2) -> 't0 * 't1 * 't2 ; visit_prim___tuple_4 : 't0 't1 't2 't3. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> (unit -> 't2 -> 't2) -> (unit -> 't3 -> 't3) -> unit -> ('t0 * 't1 * 't2 * 't3) -> 't0 * 't1 * 't2 * 't3 ; visit_projection_predicate : unit -> Hax_engine__Ast.Make(FA).projection_predicate -> Hax_engine__Ast.Make(FA).projection_predicate ; visit_quote : unit -> Hax_engine__Ast.Make(FA).quote -> Hax_engine__Ast.Make(FA).quote ; visit_safety_kind : unit -> Hax_engine__Ast.Make(FA).safety_kind -> Hax_engine__Ast.Make(FA).safety_kind ; visit_span : unit -> Ast.span -> Ast.span ; visit_string : unit -> Base.string -> Base.string ; visit_supported_monads : unit -> Hax_engine__Ast.Make(FA).supported_monads -> Hax_engine__Ast.Make(FA).supported_monads ; visit_todo : unit -> Ast.todo -> Ast.todo ; visit_trait_goal : unit -> Hax_engine__Ast.Make(FA).trait_goal -> Hax_engine__Ast.Make(FA).trait_goal ; visit_trait_item : unit -> Hax_engine__Ast.Make(FA).trait_item -> Hax_engine__Ast.Make(FA).trait_item ; visit_trait_item' : unit -> Hax_engine__Ast.Make(FA).trait_item' -> Hax_engine__Ast.Make(FA).trait_item' ; visit_ty : unit -> Hax_engine__Ast.Make(FA).ty -> Hax_engine__Ast.Make(FA).ty ; visit_variant : unit -> Hax_engine__Ast.Make(FA).variant -> Hax_engine__Ast.Make(FA).variant >
val replace_local_variables : (Ast.local_ident, AST.expr, 'b) Hax_engine.Prelude.Map.t -> < visit_F__arbitrary_lhs : unit -> FA.arbitrary_lhs -> FA.arbitrary_lhs ; visit_F__as_pattern : unit -> FA.as_pattern -> FA.as_pattern ; visit_F__block : unit -> FA.block -> FA.block ; visit_F__break : unit -> FA.break -> FA.break ; visit_F__construct_base : unit -> FA.construct_base -> FA.construct_base ; visit_F__continue : unit -> FA.continue -> FA.continue ; visit_F__dyn : unit -> FA.dyn -> FA.dyn ; visit_F__early_exit : unit -> FA.early_exit -> FA.early_exit ; visit_F__for_index_loop : unit -> FA.for_index_loop -> FA.for_index_loop ; visit_F__for_loop : unit -> FA.for_loop -> FA.for_loop ; visit_F__lifetime : unit -> FA.lifetime -> FA.lifetime ; visit_F__loop : unit -> FA.loop -> FA.loop ; visit_F__macro : unit -> FA.macro -> FA.macro ; visit_F__match_guard : unit -> FA.match_guard -> FA.match_guard ; visit_F__monadic_action : unit -> FA.monadic_action -> FA.monadic_action ; visit_F__monadic_binding : unit -> FA.monadic_binding -> FA.monadic_binding ; visit_F__mutable_pointer : unit -> FA.mutable_pointer -> FA.mutable_pointer ; visit_F__mutable_reference : unit -> FA.mutable_reference -> FA.mutable_reference ; visit_F__mutable_variable : unit -> FA.mutable_variable -> FA.mutable_variable ; visit_F__nontrivial_lhs : unit -> FA.nontrivial_lhs -> FA.nontrivial_lhs ; visit_F__question_mark : unit -> FA.question_mark -> FA.question_mark ; visit_F__raw_pointer : unit -> FA.raw_pointer -> FA.raw_pointer ; visit_F__reference : unit -> FA.reference -> FA.reference ; visit_F__slice : unit -> FA.slice -> FA.slice ; visit_F__state_passing_loop : unit -> FA.state_passing_loop -> FA.state_passing_loop ; visit_F__trait_item_default : unit -> FA.trait_item_default -> FA.trait_item_default ; visit_F__unsafe : unit -> FA.unsafe -> FA.unsafe ; visit_F__while_loop : unit -> FA.while_loop -> FA.while_loop ; visit_Local_ident__t : unit -> Local_ident.t -> Local_ident.t ; visit_arm : unit -> Hax_engine__Ast.Make(FA).arm -> Hax_engine__Ast.Make(FA).arm ; visit_arm' : unit -> Hax_engine__Ast.Make(FA).arm' -> Hax_engine__Ast.Make(FA).arm' ; visit_attr : unit -> Ast.attr -> Ast.attr ; visit_attrs : unit -> Ast.attrs -> Ast.attrs ; visit_binding_mode : unit -> Hax_engine__Ast.Make(FA).binding_mode -> Hax_engine__Ast.Make(FA).binding_mode ; visit_bool : unit -> Base.bool -> Base.bool ; visit_borrow_kind : unit -> Hax_engine__Ast.Make(FA).borrow_kind -> Hax_engine__Ast.Make(FA).borrow_kind ; visit_char : unit -> Base.char -> Base.char ; visit_concrete_ident : unit -> Ast.concrete_ident -> Ast.concrete_ident ; visit_dyn_trait_goal : unit -> Hax_engine__Ast.Make(FA).dyn_trait_goal -> Hax_engine__Ast.Make(FA).dyn_trait_goal ; visit_expr : unit -> Hax_engine__Ast.Make(FA).expr -> Hax_engine__Ast.Make(FA).expr ; visit_expr' : unit -> Hax_engine__Ast.Make(FA).expr' -> Hax_engine__Ast.Make(FA).expr' ; visit_field_pat : unit -> Hax_engine__Ast.Make(FA).field_pat -> Hax_engine__Ast.Make(FA).field_pat ; visit_float_kind : unit -> Ast.float_kind -> Ast.float_kind ; visit_generic_constraint : unit -> Hax_engine__Ast.Make(FA).generic_constraint -> Hax_engine__Ast.Make(FA).generic_constraint ; visit_generic_param : unit -> Hax_engine__Ast.Make(FA).generic_param -> Hax_engine__Ast.Make(FA).generic_param ; visit_generic_param_kind : unit -> Hax_engine__Ast.Make(FA).generic_param_kind -> Hax_engine__Ast.Make(FA).generic_param_kind ; visit_generic_value : unit -> Hax_engine__Ast.Make(FA).generic_value -> Hax_engine__Ast.Make(FA).generic_value ; visit_generics : unit -> Hax_engine__Ast.Make(FA).generics -> Hax_engine__Ast.Make(FA).generics ; visit_global_ident : unit -> Ast.global_ident -> Ast.global_ident ; visit_guard : unit -> Hax_engine__Ast.Make(FA).guard -> Hax_engine__Ast.Make(FA).guard ; visit_guard' : unit -> Hax_engine__Ast.Make(FA).guard' -> Hax_engine__Ast.Make(FA).guard' ; visit_impl_expr : unit -> Hax_engine__Ast.Make(FA).impl_expr -> Hax_engine__Ast.Make(FA).impl_expr ; visit_impl_expr_kind : unit -> Hax_engine__Ast.Make(FA).impl_expr_kind -> Hax_engine__Ast.Make(FA).impl_expr_kind ; visit_impl_ident : unit -> Hax_engine__Ast.Make(FA).impl_ident -> Hax_engine__Ast.Make(FA).impl_ident ; visit_impl_item : unit -> Hax_engine__Ast.Make(FA).impl_item -> Hax_engine__Ast.Make(FA).impl_item ; visit_impl_item' : unit -> Hax_engine__Ast.Make(FA).impl_item' -> Hax_engine__Ast.Make(FA).impl_item' ; visit_int_kind : unit -> Ast.int_kind -> Ast.int_kind ; visit_item : unit -> Hax_engine__Ast.Make(FA).item -> Hax_engine__Ast.Make(FA).item ; visit_item' : unit -> Hax_engine__Ast.Make(FA).item' -> Hax_engine__Ast.Make(FA).item' ; visit_lhs : unit -> Hax_engine__Ast.Make(FA).lhs -> Hax_engine__Ast.Make(FA).lhs ; visit_list : 'a. (unit -> 'a -> 'a) -> unit -> 'a Base.list -> 'a Base.list ; visit_literal : unit -> Ast.literal -> Ast.literal ; visit_local_ident : unit -> Ast.local_ident -> Ast.local_ident ; visit_loop_kind : unit -> Hax_engine__Ast.Make(FA).loop_kind -> Hax_engine__Ast.Make(FA).loop_kind ; visit_loop_state : unit -> Hax_engine__Ast.Make(FA).loop_state -> Hax_engine__Ast.Make(FA).loop_state ; visit_modul : unit -> Hax_engine__Ast.Make(FA).item Prelude.list -> Hax_engine__Ast.Make(FA).item Prelude.list ; visit_mutability : 'mut_witness. (unit -> 'mut_witness -> 'mut_witness) -> unit -> 'mut_witness Ast.mutability -> 'mut_witness Ast.mutability ; visit_option : 'a. (unit -> 'a -> 'a) -> unit -> 'a Base.option -> 'a Base.option ; visit_param : unit -> Hax_engine__Ast.Make(FA).param -> Hax_engine__Ast.Make(FA).param ; visit_pat : unit -> Hax_engine__Ast.Make(FA).pat -> Hax_engine__Ast.Make(FA).pat ; visit_pat' : unit -> Hax_engine__Ast.Make(FA).pat' -> Hax_engine__Ast.Make(FA).pat' ; visit_prim___tuple_2 : 't0 't1. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> unit -> ('t0 * 't1) -> 't0 * 't1 ; visit_prim___tuple_3 : 't0 't1 't2. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> (unit -> 't2 -> 't2) -> unit -> ('t0 * 't1 * 't2) -> 't0 * 't1 * 't2 ; visit_prim___tuple_4 : 't0 't1 't2 't3. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> (unit -> 't2 -> 't2) -> (unit -> 't3 -> 't3) -> unit -> ('t0 * 't1 * 't2 * 't3) -> 't0 * 't1 * 't2 * 't3 ; visit_projection_predicate : unit -> Hax_engine__Ast.Make(FA).projection_predicate -> Hax_engine__Ast.Make(FA).projection_predicate ; visit_quote : unit -> Hax_engine__Ast.Make(FA).quote -> Hax_engine__Ast.Make(FA).quote ; visit_safety_kind : unit -> Hax_engine__Ast.Make(FA).safety_kind -> Hax_engine__Ast.Make(FA).safety_kind ; visit_span : unit -> Ast.span -> Ast.span ; visit_string : unit -> Base.string -> Base.string ; visit_supported_monads : unit -> Hax_engine__Ast.Make(FA).supported_monads -> Hax_engine__Ast.Make(FA).supported_monads ; visit_todo : unit -> Ast.todo -> Ast.todo ; visit_trait_goal : unit -> Hax_engine__Ast.Make(FA).trait_goal -> Hax_engine__Ast.Make(FA).trait_goal ; visit_trait_item : unit -> Hax_engine__Ast.Make(FA).trait_item -> Hax_engine__Ast.Make(FA).trait_item ; visit_trait_item' : unit -> Hax_engine__Ast.Make(FA).trait_item' -> Hax_engine__Ast.Make(FA).trait_item' ; visit_ty : unit -> Hax_engine__Ast.Make(FA).ty -> Hax_engine__Ast.Make(FA).ty ; visit_variant : unit -> Hax_engine__Ast.Make(FA).variant -> Hax_engine__Ast.Make(FA).variant >
val replace_local_variable : Ast.local_ident -> AST.expr -> < visit_F__arbitrary_lhs : unit -> FA.arbitrary_lhs -> FA.arbitrary_lhs ; visit_F__as_pattern : unit -> FA.as_pattern -> FA.as_pattern ; visit_F__block : unit -> FA.block -> FA.block ; visit_F__break : unit -> FA.break -> FA.break ; visit_F__construct_base : unit -> FA.construct_base -> FA.construct_base ; visit_F__continue : unit -> FA.continue -> FA.continue ; visit_F__dyn : unit -> FA.dyn -> FA.dyn ; visit_F__early_exit : unit -> FA.early_exit -> FA.early_exit ; visit_F__for_index_loop : unit -> FA.for_index_loop -> FA.for_index_loop ; visit_F__for_loop : unit -> FA.for_loop -> FA.for_loop ; visit_F__lifetime : unit -> FA.lifetime -> FA.lifetime ; visit_F__loop : unit -> FA.loop -> FA.loop ; visit_F__macro : unit -> FA.macro -> FA.macro ; visit_F__match_guard : unit -> FA.match_guard -> FA.match_guard ; visit_F__monadic_action : unit -> FA.monadic_action -> FA.monadic_action ; visit_F__monadic_binding : unit -> FA.monadic_binding -> FA.monadic_binding ; visit_F__mutable_pointer : unit -> FA.mutable_pointer -> FA.mutable_pointer ; visit_F__mutable_reference : unit -> FA.mutable_reference -> FA.mutable_reference ; visit_F__mutable_variable : unit -> FA.mutable_variable -> FA.mutable_variable ; visit_F__nontrivial_lhs : unit -> FA.nontrivial_lhs -> FA.nontrivial_lhs ; visit_F__question_mark : unit -> FA.question_mark -> FA.question_mark ; visit_F__raw_pointer : unit -> FA.raw_pointer -> FA.raw_pointer ; visit_F__reference : unit -> FA.reference -> FA.reference ; visit_F__slice : unit -> FA.slice -> FA.slice ; visit_F__state_passing_loop : unit -> FA.state_passing_loop -> FA.state_passing_loop ; visit_F__trait_item_default : unit -> FA.trait_item_default -> FA.trait_item_default ; visit_F__unsafe : unit -> FA.unsafe -> FA.unsafe ; visit_F__while_loop : unit -> FA.while_loop -> FA.while_loop ; visit_Local_ident__t : unit -> Local_ident.t -> Local_ident.t ; visit_arm : unit -> Hax_engine__Ast.Make(FA).arm -> Hax_engine__Ast.Make(FA).arm ; visit_arm' : unit -> Hax_engine__Ast.Make(FA).arm' -> Hax_engine__Ast.Make(FA).arm' ; visit_attr : unit -> Ast.attr -> Ast.attr ; visit_attrs : unit -> Ast.attrs -> Ast.attrs ; visit_binding_mode : unit -> Hax_engine__Ast.Make(FA).binding_mode -> Hax_engine__Ast.Make(FA).binding_mode ; visit_bool : unit -> Base.bool -> Base.bool ; visit_borrow_kind : unit -> Hax_engine__Ast.Make(FA).borrow_kind -> Hax_engine__Ast.Make(FA).borrow_kind ; visit_char : unit -> Base.char -> Base.char ; visit_concrete_ident : unit -> Ast.concrete_ident -> Ast.concrete_ident ; visit_dyn_trait_goal : unit -> Hax_engine__Ast.Make(FA).dyn_trait_goal -> Hax_engine__Ast.Make(FA).dyn_trait_goal ; visit_expr : unit -> Hax_engine__Ast.Make(FA).expr -> Hax_engine__Ast.Make(FA).expr ; visit_expr' : unit -> Hax_engine__Ast.Make(FA).expr' -> Hax_engine__Ast.Make(FA).expr' ; visit_field_pat : unit -> Hax_engine__Ast.Make(FA).field_pat -> Hax_engine__Ast.Make(FA).field_pat ; visit_float_kind : unit -> Ast.float_kind -> Ast.float_kind ; visit_generic_constraint : unit -> Hax_engine__Ast.Make(FA).generic_constraint -> Hax_engine__Ast.Make(FA).generic_constraint ; visit_generic_param : unit -> Hax_engine__Ast.Make(FA).generic_param -> Hax_engine__Ast.Make(FA).generic_param ; visit_generic_param_kind : unit -> Hax_engine__Ast.Make(FA).generic_param_kind -> Hax_engine__Ast.Make(FA).generic_param_kind ; visit_generic_value : unit -> Hax_engine__Ast.Make(FA).generic_value -> Hax_engine__Ast.Make(FA).generic_value ; visit_generics : unit -> Hax_engine__Ast.Make(FA).generics -> Hax_engine__Ast.Make(FA).generics ; visit_global_ident : unit -> Ast.global_ident -> Ast.global_ident ; visit_guard : unit -> Hax_engine__Ast.Make(FA).guard -> Hax_engine__Ast.Make(FA).guard ; visit_guard' : unit -> Hax_engine__Ast.Make(FA).guard' -> Hax_engine__Ast.Make(FA).guard' ; visit_impl_expr : unit -> Hax_engine__Ast.Make(FA).impl_expr -> Hax_engine__Ast.Make(FA).impl_expr ; visit_impl_expr_kind : unit -> Hax_engine__Ast.Make(FA).impl_expr_kind -> Hax_engine__Ast.Make(FA).impl_expr_kind ; visit_impl_ident : unit -> Hax_engine__Ast.Make(FA).impl_ident -> Hax_engine__Ast.Make(FA).impl_ident ; visit_impl_item : unit -> Hax_engine__Ast.Make(FA).impl_item -> Hax_engine__Ast.Make(FA).impl_item ; visit_impl_item' : unit -> Hax_engine__Ast.Make(FA).impl_item' -> Hax_engine__Ast.Make(FA).impl_item' ; visit_int_kind : unit -> Ast.int_kind -> Ast.int_kind ; visit_item : unit -> Hax_engine__Ast.Make(FA).item -> Hax_engine__Ast.Make(FA).item ; visit_item' : unit -> Hax_engine__Ast.Make(FA).item' -> Hax_engine__Ast.Make(FA).item' ; visit_lhs : unit -> Hax_engine__Ast.Make(FA).lhs -> Hax_engine__Ast.Make(FA).lhs ; visit_list : 'a. (unit -> 'a -> 'a) -> unit -> 'a Base.list -> 'a Base.list ; visit_literal : unit -> Ast.literal -> Ast.literal ; visit_local_ident : unit -> Ast.local_ident -> Ast.local_ident ; visit_loop_kind : unit -> Hax_engine__Ast.Make(FA).loop_kind -> Hax_engine__Ast.Make(FA).loop_kind ; visit_loop_state : unit -> Hax_engine__Ast.Make(FA).loop_state -> Hax_engine__Ast.Make(FA).loop_state ; visit_modul : unit -> Hax_engine__Ast.Make(FA).item Prelude.list -> Hax_engine__Ast.Make(FA).item Prelude.list ; visit_mutability : 'mut_witness. (unit -> 'mut_witness -> 'mut_witness) -> unit -> 'mut_witness Ast.mutability -> 'mut_witness Ast.mutability ; visit_option : 'a. (unit -> 'a -> 'a) -> unit -> 'a Base.option -> 'a Base.option ; visit_param : unit -> Hax_engine__Ast.Make(FA).param -> Hax_engine__Ast.Make(FA).param ; visit_pat : unit -> Hax_engine__Ast.Make(FA).pat -> Hax_engine__Ast.Make(FA).pat ; visit_pat' : unit -> Hax_engine__Ast.Make(FA).pat' -> Hax_engine__Ast.Make(FA).pat' ; visit_prim___tuple_2 : 't0 't1. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> unit -> ('t0 * 't1) -> 't0 * 't1 ; visit_prim___tuple_3 : 't0 't1 't2. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> (unit -> 't2 -> 't2) -> unit -> ('t0 * 't1 * 't2) -> 't0 * 't1 * 't2 ; visit_prim___tuple_4 : 't0 't1 't2 't3. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> (unit -> 't2 -> 't2) -> (unit -> 't3 -> 't3) -> unit -> ('t0 * 't1 * 't2 * 't3) -> 't0 * 't1 * 't2 * 't3 ; visit_projection_predicate : unit -> Hax_engine__Ast.Make(FA).projection_predicate -> Hax_engine__Ast.Make(FA).projection_predicate ; visit_quote : unit -> Hax_engine__Ast.Make(FA).quote -> Hax_engine__Ast.Make(FA).quote ; visit_safety_kind : unit -> Hax_engine__Ast.Make(FA).safety_kind -> Hax_engine__Ast.Make(FA).safety_kind ; visit_span : unit -> Ast.span -> Ast.span ; visit_string : unit -> Base.string -> Base.string ; visit_supported_monads : unit -> Hax_engine__Ast.Make(FA).supported_monads -> Hax_engine__Ast.Make(FA).supported_monads ; visit_todo : unit -> Ast.todo -> Ast.todo ; visit_trait_goal : unit -> Hax_engine__Ast.Make(FA).trait_goal -> Hax_engine__Ast.Make(FA).trait_goal ; visit_trait_item : unit -> Hax_engine__Ast.Make(FA).trait_item -> Hax_engine__Ast.Make(FA).trait_item ; visit_trait_item' : unit -> Hax_engine__Ast.Make(FA).trait_item' -> Hax_engine__Ast.Make(FA).trait_item' ; visit_ty : unit -> Hax_engine__Ast.Make(FA).ty -> Hax_engine__Ast.Make(FA).ty ; visit_variant : unit -> Hax_engine__Ast.Make(FA).variant -> Hax_engine__Ast.Make(FA).variant >
val rename_local_idents : (Ast.local_ident -> Ast.local_ident) -> < visit_F__arbitrary_lhs : unit -> FA.arbitrary_lhs -> FA.arbitrary_lhs ; visit_F__as_pattern : unit -> FA.as_pattern -> FA.as_pattern ; visit_F__block : unit -> FA.block -> FA.block ; visit_F__break : unit -> FA.break -> FA.break ; visit_F__construct_base : unit -> FA.construct_base -> FA.construct_base ; visit_F__continue : unit -> FA.continue -> FA.continue ; visit_F__dyn : unit -> FA.dyn -> FA.dyn ; visit_F__early_exit : unit -> FA.early_exit -> FA.early_exit ; visit_F__for_index_loop : unit -> FA.for_index_loop -> FA.for_index_loop ; visit_F__for_loop : unit -> FA.for_loop -> FA.for_loop ; visit_F__lifetime : unit -> FA.lifetime -> FA.lifetime ; visit_F__loop : unit -> FA.loop -> FA.loop ; visit_F__macro : unit -> FA.macro -> FA.macro ; visit_F__match_guard : unit -> FA.match_guard -> FA.match_guard ; visit_F__monadic_action : unit -> FA.monadic_action -> FA.monadic_action ; visit_F__monadic_binding : unit -> FA.monadic_binding -> FA.monadic_binding ; visit_F__mutable_pointer : unit -> FA.mutable_pointer -> FA.mutable_pointer ; visit_F__mutable_reference : unit -> FA.mutable_reference -> FA.mutable_reference ; visit_F__mutable_variable : unit -> FA.mutable_variable -> FA.mutable_variable ; visit_F__nontrivial_lhs : unit -> FA.nontrivial_lhs -> FA.nontrivial_lhs ; visit_F__question_mark : unit -> FA.question_mark -> FA.question_mark ; visit_F__raw_pointer : unit -> FA.raw_pointer -> FA.raw_pointer ; visit_F__reference : unit -> FA.reference -> FA.reference ; visit_F__slice : unit -> FA.slice -> FA.slice ; visit_F__state_passing_loop : unit -> FA.state_passing_loop -> FA.state_passing_loop ; visit_F__trait_item_default : unit -> FA.trait_item_default -> FA.trait_item_default ; visit_F__unsafe : unit -> FA.unsafe -> FA.unsafe ; visit_F__while_loop : unit -> FA.while_loop -> FA.while_loop ; visit_Local_ident__t : unit -> Local_ident.t -> Local_ident.t ; visit_arm : unit -> Hax_engine__Ast.Make(FA).arm -> Hax_engine__Ast.Make(FA).arm ; visit_arm' : unit -> Hax_engine__Ast.Make(FA).arm' -> Hax_engine__Ast.Make(FA).arm' ; visit_attr : unit -> Ast.attr -> Ast.attr ; visit_attrs : unit -> Ast.attrs -> Ast.attrs ; visit_binding_mode : unit -> Hax_engine__Ast.Make(FA).binding_mode -> Hax_engine__Ast.Make(FA).binding_mode ; visit_bool : unit -> Base.bool -> Base.bool ; visit_borrow_kind : unit -> Hax_engine__Ast.Make(FA).borrow_kind -> Hax_engine__Ast.Make(FA).borrow_kind ; visit_char : unit -> Base.char -> Base.char ; visit_concrete_ident : unit -> Ast.concrete_ident -> Ast.concrete_ident ; visit_dyn_trait_goal : unit -> Hax_engine__Ast.Make(FA).dyn_trait_goal -> Hax_engine__Ast.Make(FA).dyn_trait_goal ; visit_expr : unit -> Hax_engine__Ast.Make(FA).expr -> Hax_engine__Ast.Make(FA).expr ; visit_expr' : unit -> Hax_engine__Ast.Make(FA).expr' -> Hax_engine__Ast.Make(FA).expr' ; visit_field_pat : unit -> Hax_engine__Ast.Make(FA).field_pat -> Hax_engine__Ast.Make(FA).field_pat ; visit_float_kind : unit -> Ast.float_kind -> Ast.float_kind ; visit_generic_constraint : unit -> Hax_engine__Ast.Make(FA).generic_constraint -> Hax_engine__Ast.Make(FA).generic_constraint ; visit_generic_param : unit -> Hax_engine__Ast.Make(FA).generic_param -> Hax_engine__Ast.Make(FA).generic_param ; visit_generic_param_kind : unit -> Hax_engine__Ast.Make(FA).generic_param_kind -> Hax_engine__Ast.Make(FA).generic_param_kind ; visit_generic_value : unit -> Hax_engine__Ast.Make(FA).generic_value -> Hax_engine__Ast.Make(FA).generic_value ; visit_generics : unit -> Hax_engine__Ast.Make(FA).generics -> Hax_engine__Ast.Make(FA).generics ; visit_global_ident : unit -> Ast.global_ident -> Ast.global_ident ; visit_guard : unit -> Hax_engine__Ast.Make(FA).guard -> Hax_engine__Ast.Make(FA).guard ; visit_guard' : unit -> Hax_engine__Ast.Make(FA).guard' -> Hax_engine__Ast.Make(FA).guard' ; visit_impl_expr : unit -> Hax_engine__Ast.Make(FA).impl_expr -> Hax_engine__Ast.Make(FA).impl_expr ; visit_impl_expr_kind : unit -> Hax_engine__Ast.Make(FA).impl_expr_kind -> Hax_engine__Ast.Make(FA).impl_expr_kind ; visit_impl_ident : unit -> Hax_engine__Ast.Make(FA).impl_ident -> Hax_engine__Ast.Make(FA).impl_ident ; visit_impl_item : unit -> Hax_engine__Ast.Make(FA).impl_item -> Hax_engine__Ast.Make(FA).impl_item ; visit_impl_item' : unit -> Hax_engine__Ast.Make(FA).impl_item' -> Hax_engine__Ast.Make(FA).impl_item' ; visit_int_kind : unit -> Ast.int_kind -> Ast.int_kind ; visit_item : unit -> Hax_engine__Ast.Make(FA).item -> Hax_engine__Ast.Make(FA).item ; visit_item' : unit -> Hax_engine__Ast.Make(FA).item' -> Hax_engine__Ast.Make(FA).item' ; visit_lhs : unit -> Hax_engine__Ast.Make(FA).lhs -> Hax_engine__Ast.Make(FA).lhs ; visit_list : 'a. (unit -> 'a -> 'a) -> unit -> 'a Base.list -> 'a Base.list ; visit_literal : unit -> Ast.literal -> Ast.literal ; visit_local_ident : unit -> Ast.local_ident -> Ast.local_ident ; visit_loop_kind : unit -> Hax_engine__Ast.Make(FA).loop_kind -> Hax_engine__Ast.Make(FA).loop_kind ; visit_loop_state : unit -> Hax_engine__Ast.Make(FA).loop_state -> Hax_engine__Ast.Make(FA).loop_state ; visit_modul : unit -> Hax_engine__Ast.Make(FA).item Prelude.list -> Hax_engine__Ast.Make(FA).item Prelude.list ; visit_mutability : 'mut_witness. (unit -> 'mut_witness -> 'mut_witness) -> unit -> 'mut_witness Ast.mutability -> 'mut_witness Ast.mutability ; visit_option : 'a. (unit -> 'a -> 'a) -> unit -> 'a Base.option -> 'a Base.option ; visit_param : unit -> Hax_engine__Ast.Make(FA).param -> Hax_engine__Ast.Make(FA).param ; visit_pat : unit -> Hax_engine__Ast.Make(FA).pat -> Hax_engine__Ast.Make(FA).pat ; visit_pat' : unit -> Hax_engine__Ast.Make(FA).pat' -> Hax_engine__Ast.Make(FA).pat' ; visit_prim___tuple_2 : 't0 't1. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> unit -> ('t0 * 't1) -> 't0 * 't1 ; visit_prim___tuple_3 : 't0 't1 't2. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> (unit -> 't2 -> 't2) -> unit -> ('t0 * 't1 * 't2) -> 't0 * 't1 * 't2 ; visit_prim___tuple_4 : 't0 't1 't2 't3. (unit -> 't0 -> 't0) -> (unit -> 't1 -> 't1) -> (unit -> 't2 -> 't2) -> (unit -> 't3 -> 't3) -> unit -> ('t0 * 't1 * 't2 * 't3) -> 't0 * 't1 * 't2 * 't3 ; visit_projection_predicate : unit -> Hax_engine__Ast.Make(FA).projection_predicate -> Hax_engine__Ast.Make(FA).projection_predicate ; visit_quote : unit -> Hax_engine__Ast.Make(FA).quote -> Hax_engine__Ast.Make(FA).quote ; visit_safety_kind : unit -> Hax_engine__Ast.Make(FA).safety_kind -> Hax_engine__Ast.Make(FA).safety_kind ; visit_span : unit -> Ast.span -> Ast.span ; visit_string : unit -> Base.string -> Base.string ; visit_supported_monads : unit -> Hax_engine__Ast.Make(FA).supported_monads -> Hax_engine__Ast.Make(FA).supported_monads ; visit_todo : unit -> Ast.todo -> Ast.todo ; visit_trait_goal : unit -> Hax_engine__Ast.Make(FA).trait_goal -> Hax_engine__Ast.Make(FA).trait_goal ; visit_trait_item : unit -> Hax_engine__Ast.Make(FA).trait_item -> Hax_engine__Ast.Make(FA).trait_item ; visit_trait_item' : unit -> Hax_engine__Ast.Make(FA).trait_item' -> Hax_engine__Ast.Make(FA).trait_item' ; visit_ty : unit -> Hax_engine__Ast.Make(FA).ty -> Hax_engine__Ast.Make(FA).ty ; visit_variant : unit -> Hax_engine__Ast.Make(FA).variant -> Hax_engine__Ast.Make(FA).variant >
val rename_global_idents : (Hax_engine__Ast_utils.visit_level -> Ast.global_ident -> Ast.global_ident) -> < visit_F__arbitrary_lhs : Hax_engine__Ast_utils.visit_level -> FA.arbitrary_lhs -> FA.arbitrary_lhs ; visit_F__as_pattern : Hax_engine__Ast_utils.visit_level -> FA.as_pattern -> FA.as_pattern ; visit_F__block : Hax_engine__Ast_utils.visit_level -> FA.block -> FA.block ; visit_F__break : Hax_engine__Ast_utils.visit_level -> FA.break -> FA.break ; visit_F__construct_base : Hax_engine__Ast_utils.visit_level -> FA.construct_base -> FA.construct_base ; visit_F__continue : Hax_engine__Ast_utils.visit_level -> FA.continue -> FA.continue ; visit_F__dyn : Hax_engine__Ast_utils.visit_level -> FA.dyn -> FA.dyn ; visit_F__early_exit : Hax_engine__Ast_utils.visit_level -> FA.early_exit -> FA.early_exit ; visit_F__for_index_loop : Hax_engine__Ast_utils.visit_level -> FA.for_index_loop -> FA.for_index_loop ; visit_F__for_loop : Hax_engine__Ast_utils.visit_level -> FA.for_loop -> FA.for_loop ; visit_F__lifetime : Hax_engine__Ast_utils.visit_level -> FA.lifetime -> FA.lifetime ; visit_F__loop : Hax_engine__Ast_utils.visit_level -> FA.loop -> FA.loop ; visit_F__macro : Hax_engine__Ast_utils.visit_level -> FA.macro -> FA.macro ; visit_F__match_guard : Hax_engine__Ast_utils.visit_level -> FA.match_guard -> FA.match_guard ; visit_F__monadic_action : Hax_engine__Ast_utils.visit_level -> FA.monadic_action -> FA.monadic_action ; visit_F__monadic_binding : Hax_engine__Ast_utils.visit_level -> FA.monadic_binding -> FA.monadic_binding ; visit_F__mutable_pointer : Hax_engine__Ast_utils.visit_level -> FA.mutable_pointer -> FA.mutable_pointer ; visit_F__mutable_reference : Hax_engine__Ast_utils.visit_level -> FA.mutable_reference -> FA.mutable_reference ; visit_F__mutable_variable : Hax_engine__Ast_utils.visit_level -> FA.mutable_variable -> FA.mutable_variable ; visit_F__nontrivial_lhs : Hax_engine__Ast_utils.visit_level -> FA.nontrivial_lhs -> FA.nontrivial_lhs ; visit_F__question_mark : Hax_engine__Ast_utils.visit_level -> FA.question_mark -> FA.question_mark ; visit_F__raw_pointer : Hax_engine__Ast_utils.visit_level -> FA.raw_pointer -> FA.raw_pointer ; visit_F__reference : Hax_engine__Ast_utils.visit_level -> FA.reference -> FA.reference ; visit_F__slice : Hax_engine__Ast_utils.visit_level -> FA.slice -> FA.slice ; visit_F__state_passing_loop : Hax_engine__Ast_utils.visit_level -> FA.state_passing_loop -> FA.state_passing_loop ; visit_F__trait_item_default : Hax_engine__Ast_utils.visit_level -> FA.trait_item_default -> FA.trait_item_default ; visit_F__unsafe : Hax_engine__Ast_utils.visit_level -> FA.unsafe -> FA.unsafe ; visit_F__while_loop : Hax_engine__Ast_utils.visit_level -> FA.while_loop -> FA.while_loop ; visit_Local_ident__t : Hax_engine__Ast_utils.visit_level -> Local_ident.t -> Local_ident.t ; visit_arm : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).arm -> Hax_engine__Ast.Make(FA).arm ; visit_arm' : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).arm' -> Hax_engine__Ast.Make(FA).arm' ; visit_attr : Hax_engine__Ast_utils.visit_level -> Ast.attr -> Ast.attr ; visit_attrs : Hax_engine__Ast_utils.visit_level -> Ast.attrs -> Ast.attrs ; visit_binding_mode : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).binding_mode -> Hax_engine__Ast.Make(FA).binding_mode ; visit_bool : Hax_engine__Ast_utils.visit_level -> Base.bool -> Base.bool ; visit_borrow_kind : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).borrow_kind -> Hax_engine__Ast.Make(FA).borrow_kind ; visit_char : Hax_engine__Ast_utils.visit_level -> Base.char -> Base.char ; visit_concrete_ident : Hax_engine__Ast_utils.visit_level -> Ast.concrete_ident -> Ast.concrete_ident ; visit_dyn_trait_goal : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).dyn_trait_goal -> Hax_engine__Ast.Make(FA).dyn_trait_goal ; visit_expr : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).expr -> Hax_engine__Ast.Make(FA).expr ; visit_expr' : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).expr' -> Hax_engine__Ast.Make(FA).expr' ; visit_field_pat : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).field_pat -> Hax_engine__Ast.Make(FA).field_pat ; visit_float_kind : Hax_engine__Ast_utils.visit_level -> Ast.float_kind -> Ast.float_kind ; visit_generic_constraint : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).generic_constraint -> Hax_engine__Ast.Make(FA).generic_constraint ; visit_generic_param : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).generic_param -> Hax_engine__Ast.Make(FA).generic_param ; visit_generic_param_kind : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).generic_param_kind -> Hax_engine__Ast.Make(FA).generic_param_kind ; visit_generic_value : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).generic_value -> Hax_engine__Ast.Make(FA).generic_value ; visit_generics : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).generics -> Hax_engine__Ast.Make(FA).generics ; visit_global_ident : Hax_engine__Ast_utils.visit_level -> Ast.global_ident -> Ast.global_ident ; visit_guard : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).guard -> Hax_engine__Ast.Make(FA).guard ; visit_guard' : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).guard' -> Hax_engine__Ast.Make(FA).guard' ; visit_impl_expr : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).impl_expr -> Hax_engine__Ast.Make(FA).impl_expr ; visit_impl_expr_kind : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).impl_expr_kind -> Hax_engine__Ast.Make(FA).impl_expr_kind ; visit_impl_ident : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).impl_ident -> Hax_engine__Ast.Make(FA).impl_ident ; visit_impl_item : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).impl_item -> Hax_engine__Ast.Make(FA).impl_item ; visit_impl_item' : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).impl_item' -> Hax_engine__Ast.Make(FA).impl_item' ; visit_int_kind : Hax_engine__Ast_utils.visit_level -> Ast.int_kind -> Ast.int_kind ; visit_item : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).item -> Hax_engine__Ast.Make(FA).item ; visit_item' : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).item' -> Hax_engine__Ast.Make(FA).item' ; visit_lhs : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).lhs -> Hax_engine__Ast.Make(FA).lhs ; visit_list : 'a. (Hax_engine__Ast_utils.visit_level -> 'a -> 'a) -> Hax_engine__Ast_utils.visit_level -> 'a Base.list -> 'a Base.list ; visit_literal : Hax_engine__Ast_utils.visit_level -> Ast.literal -> Ast.literal ; visit_local_ident : Hax_engine__Ast_utils.visit_level -> Ast.local_ident -> Ast.local_ident ; visit_loop_kind : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).loop_kind -> Hax_engine__Ast.Make(FA).loop_kind ; visit_loop_state : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).loop_state -> Hax_engine__Ast.Make(FA).loop_state ; visit_modul : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).item Prelude.list -> Hax_engine__Ast.Make(FA).item Prelude.list ; visit_mutability : 'mut_witness. (Hax_engine__Ast_utils.visit_level -> 'mut_witness -> 'mut_witness) -> Hax_engine__Ast_utils.visit_level -> 'mut_witness Ast.mutability -> 'mut_witness Ast.mutability ; visit_option : 'a. (Hax_engine__Ast_utils.visit_level -> 'a -> 'a) -> Hax_engine__Ast_utils.visit_level -> 'a Base.option -> 'a Base.option ; visit_param : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).param -> Hax_engine__Ast.Make(FA).param ; visit_pat : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).pat -> Hax_engine__Ast.Make(FA).pat ; visit_pat' : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).pat' -> Hax_engine__Ast.Make(FA).pat' ; visit_prim___tuple_2 : 't0 't1. (Hax_engine__Ast_utils.visit_level -> 't0 -> 't0) -> (Hax_engine__Ast_utils.visit_level -> 't1 -> 't1) -> Hax_engine__Ast_utils.visit_level -> ('t0 * 't1) -> 't0 * 't1 ; visit_prim___tuple_3 : 't0 't1 't2. (Hax_engine__Ast_utils.visit_level -> 't0 -> 't0) -> (Hax_engine__Ast_utils.visit_level -> 't1 -> 't1) -> (Hax_engine__Ast_utils.visit_level -> 't2 -> 't2) -> Hax_engine__Ast_utils.visit_level -> ('t0 * 't1 * 't2) -> 't0 * 't1 * 't2 ; visit_prim___tuple_4 : 't0 't1 't2 't3. (Hax_engine__Ast_utils.visit_level -> 't0 -> 't0) -> (Hax_engine__Ast_utils.visit_level -> 't1 -> 't1) -> (Hax_engine__Ast_utils.visit_level -> 't2 -> 't2) -> (Hax_engine__Ast_utils.visit_level -> 't3 -> 't3) -> Hax_engine__Ast_utils.visit_level -> ('t0 * 't1 * 't2 * 't3) -> 't0 * 't1 * 't2 * 't3 ; visit_projection_predicate : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).projection_predicate -> Hax_engine__Ast.Make(FA).projection_predicate ; visit_quote : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).quote -> Hax_engine__Ast.Make(FA).quote ; visit_safety_kind : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).safety_kind -> Hax_engine__Ast.Make(FA).safety_kind ; visit_span : Hax_engine__Ast_utils.visit_level -> Ast.span -> Ast.span ; visit_string : Hax_engine__Ast_utils.visit_level -> Base.string -> Base.string ; visit_supported_monads : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).supported_monads -> Hax_engine__Ast.Make(FA).supported_monads ; visit_todo : Hax_engine__Ast_utils.visit_level -> Ast.todo -> Ast.todo ; visit_trait_goal : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).trait_goal -> Hax_engine__Ast.Make(FA).trait_goal ; visit_trait_item : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).trait_item -> Hax_engine__Ast.Make(FA).trait_item ; visit_trait_item' : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).trait_item' -> Hax_engine__Ast.Make(FA).trait_item' ; visit_ty : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).ty -> Hax_engine__Ast.Make(FA).ty ; visit_variant : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).variant -> Hax_engine__Ast.Make(FA).variant >
val rename_concrete_idents : (Hax_engine__Ast_utils.visit_level -> Concrete_ident.t -> Concrete_ident.t) -> < visit_F__arbitrary_lhs : Hax_engine__Ast_utils.visit_level -> FA.arbitrary_lhs -> FA.arbitrary_lhs ; visit_F__as_pattern : Hax_engine__Ast_utils.visit_level -> FA.as_pattern -> FA.as_pattern ; visit_F__block : Hax_engine__Ast_utils.visit_level -> FA.block -> FA.block ; visit_F__break : Hax_engine__Ast_utils.visit_level -> FA.break -> FA.break ; visit_F__construct_base : Hax_engine__Ast_utils.visit_level -> FA.construct_base -> FA.construct_base ; visit_F__continue : Hax_engine__Ast_utils.visit_level -> FA.continue -> FA.continue ; visit_F__dyn : Hax_engine__Ast_utils.visit_level -> FA.dyn -> FA.dyn ; visit_F__early_exit : Hax_engine__Ast_utils.visit_level -> FA.early_exit -> FA.early_exit ; visit_F__for_index_loop : Hax_engine__Ast_utils.visit_level -> FA.for_index_loop -> FA.for_index_loop ; visit_F__for_loop : Hax_engine__Ast_utils.visit_level -> FA.for_loop -> FA.for_loop ; visit_F__lifetime : Hax_engine__Ast_utils.visit_level -> FA.lifetime -> FA.lifetime ; visit_F__loop : Hax_engine__Ast_utils.visit_level -> FA.loop -> FA.loop ; visit_F__macro : Hax_engine__Ast_utils.visit_level -> FA.macro -> FA.macro ; visit_F__match_guard : Hax_engine__Ast_utils.visit_level -> FA.match_guard -> FA.match_guard ; visit_F__monadic_action : Hax_engine__Ast_utils.visit_level -> FA.monadic_action -> FA.monadic_action ; visit_F__monadic_binding : Hax_engine__Ast_utils.visit_level -> FA.monadic_binding -> FA.monadic_binding ; visit_F__mutable_pointer : Hax_engine__Ast_utils.visit_level -> FA.mutable_pointer -> FA.mutable_pointer ; visit_F__mutable_reference : Hax_engine__Ast_utils.visit_level -> FA.mutable_reference -> FA.mutable_reference ; visit_F__mutable_variable : Hax_engine__Ast_utils.visit_level -> FA.mutable_variable -> FA.mutable_variable ; visit_F__nontrivial_lhs : Hax_engine__Ast_utils.visit_level -> FA.nontrivial_lhs -> FA.nontrivial_lhs ; visit_F__question_mark : Hax_engine__Ast_utils.visit_level -> FA.question_mark -> FA.question_mark ; visit_F__raw_pointer : Hax_engine__Ast_utils.visit_level -> FA.raw_pointer -> FA.raw_pointer ; visit_F__reference : Hax_engine__Ast_utils.visit_level -> FA.reference -> FA.reference ; visit_F__slice : Hax_engine__Ast_utils.visit_level -> FA.slice -> FA.slice ; visit_F__state_passing_loop : Hax_engine__Ast_utils.visit_level -> FA.state_passing_loop -> FA.state_passing_loop ; visit_F__trait_item_default : Hax_engine__Ast_utils.visit_level -> FA.trait_item_default -> FA.trait_item_default ; visit_F__unsafe : Hax_engine__Ast_utils.visit_level -> FA.unsafe -> FA.unsafe ; visit_F__while_loop : Hax_engine__Ast_utils.visit_level -> FA.while_loop -> FA.while_loop ; visit_Local_ident__t : Hax_engine__Ast_utils.visit_level -> Local_ident.t -> Local_ident.t ; visit_arm : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).arm -> Hax_engine__Ast.Make(FA).arm ; visit_arm' : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).arm' -> Hax_engine__Ast.Make(FA).arm' ; visit_attr : Hax_engine__Ast_utils.visit_level -> Ast.attr -> Ast.attr ; visit_attrs : Hax_engine__Ast_utils.visit_level -> Ast.attrs -> Ast.attrs ; visit_binding_mode : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).binding_mode -> Hax_engine__Ast.Make(FA).binding_mode ; visit_bool : Hax_engine__Ast_utils.visit_level -> Base.bool -> Base.bool ; visit_borrow_kind : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).borrow_kind -> Hax_engine__Ast.Make(FA).borrow_kind ; visit_char : Hax_engine__Ast_utils.visit_level -> Base.char -> Base.char ; visit_concrete_ident : Hax_engine__Ast_utils.visit_level -> Ast.concrete_ident -> Ast.concrete_ident ; visit_dyn_trait_goal : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).dyn_trait_goal -> Hax_engine__Ast.Make(FA).dyn_trait_goal ; visit_expr : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).expr -> Hax_engine__Ast.Make(FA).expr ; visit_expr' : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).expr' -> Hax_engine__Ast.Make(FA).expr' ; visit_field_pat : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).field_pat -> Hax_engine__Ast.Make(FA).field_pat ; visit_float_kind : Hax_engine__Ast_utils.visit_level -> Ast.float_kind -> Ast.float_kind ; visit_generic_constraint : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).generic_constraint -> Hax_engine__Ast.Make(FA).generic_constraint ; visit_generic_param : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).generic_param -> Hax_engine__Ast.Make(FA).generic_param ; visit_generic_param_kind : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).generic_param_kind -> Hax_engine__Ast.Make(FA).generic_param_kind ; visit_generic_value : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).generic_value -> Hax_engine__Ast.Make(FA).generic_value ; visit_generics : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).generics -> Hax_engine__Ast.Make(FA).generics ; visit_global_ident : Hax_engine__Ast_utils.visit_level -> Ast.global_ident -> Ast.global_ident ; visit_guard : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).guard -> Hax_engine__Ast.Make(FA).guard ; visit_guard' : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).guard' -> Hax_engine__Ast.Make(FA).guard' ; visit_impl_expr : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).impl_expr -> Hax_engine__Ast.Make(FA).impl_expr ; visit_impl_expr_kind : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).impl_expr_kind -> Hax_engine__Ast.Make(FA).impl_expr_kind ; visit_impl_ident : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).impl_ident -> Hax_engine__Ast.Make(FA).impl_ident ; visit_impl_item : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).impl_item -> Hax_engine__Ast.Make(FA).impl_item ; visit_impl_item' : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).impl_item' -> Hax_engine__Ast.Make(FA).impl_item' ; visit_int_kind : Hax_engine__Ast_utils.visit_level -> Ast.int_kind -> Ast.int_kind ; visit_item : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).item -> Hax_engine__Ast.Make(FA).item ; visit_item' : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).item' -> Hax_engine__Ast.Make(FA).item' ; visit_lhs : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).lhs -> Hax_engine__Ast.Make(FA).lhs ; visit_list : 'a. (Hax_engine__Ast_utils.visit_level -> 'a -> 'a) -> Hax_engine__Ast_utils.visit_level -> 'a Base.list -> 'a Base.list ; visit_literal : Hax_engine__Ast_utils.visit_level -> Ast.literal -> Ast.literal ; visit_local_ident : Hax_engine__Ast_utils.visit_level -> Ast.local_ident -> Ast.local_ident ; visit_loop_kind : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).loop_kind -> Hax_engine__Ast.Make(FA).loop_kind ; visit_loop_state : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).loop_state -> Hax_engine__Ast.Make(FA).loop_state ; visit_modul : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).item Prelude.list -> Hax_engine__Ast.Make(FA).item Prelude.list ; visit_mutability : 'mut_witness. (Hax_engine__Ast_utils.visit_level -> 'mut_witness -> 'mut_witness) -> Hax_engine__Ast_utils.visit_level -> 'mut_witness Ast.mutability -> 'mut_witness Ast.mutability ; visit_option : 'a. (Hax_engine__Ast_utils.visit_level -> 'a -> 'a) -> Hax_engine__Ast_utils.visit_level -> 'a Base.option -> 'a Base.option ; visit_param : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).param -> Hax_engine__Ast.Make(FA).param ; visit_pat : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).pat -> Hax_engine__Ast.Make(FA).pat ; visit_pat' : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).pat' -> Hax_engine__Ast.Make(FA).pat' ; visit_prim___tuple_2 : 't0 't1. (Hax_engine__Ast_utils.visit_level -> 't0 -> 't0) -> (Hax_engine__Ast_utils.visit_level -> 't1 -> 't1) -> Hax_engine__Ast_utils.visit_level -> ('t0 * 't1) -> 't0 * 't1 ; visit_prim___tuple_3 : 't0 't1 't2. (Hax_engine__Ast_utils.visit_level -> 't0 -> 't0) -> (Hax_engine__Ast_utils.visit_level -> 't1 -> 't1) -> (Hax_engine__Ast_utils.visit_level -> 't2 -> 't2) -> Hax_engine__Ast_utils.visit_level -> ('t0 * 't1 * 't2) -> 't0 * 't1 * 't2 ; visit_prim___tuple_4 : 't0 't1 't2 't3. (Hax_engine__Ast_utils.visit_level -> 't0 -> 't0) -> (Hax_engine__Ast_utils.visit_level -> 't1 -> 't1) -> (Hax_engine__Ast_utils.visit_level -> 't2 -> 't2) -> (Hax_engine__Ast_utils.visit_level -> 't3 -> 't3) -> Hax_engine__Ast_utils.visit_level -> ('t0 * 't1 * 't2 * 't3) -> 't0 * 't1 * 't2 * 't3 ; visit_projection_predicate : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).projection_predicate -> Hax_engine__Ast.Make(FA).projection_predicate ; visit_quote : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).quote -> Hax_engine__Ast.Make(FA).quote ; visit_safety_kind : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).safety_kind -> Hax_engine__Ast.Make(FA).safety_kind ; visit_span : Hax_engine__Ast_utils.visit_level -> Ast.span -> Ast.span ; visit_string : Hax_engine__Ast_utils.visit_level -> Base.string -> Base.string ; visit_supported_monads : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).supported_monads -> Hax_engine__Ast.Make(FA).supported_monads ; visit_todo : Hax_engine__Ast_utils.visit_level -> Ast.todo -> Ast.todo ; visit_trait_goal : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).trait_goal -> Hax_engine__Ast.Make(FA).trait_goal ; visit_trait_item : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).trait_item -> Hax_engine__Ast.Make(FA).trait_item ; visit_trait_item' : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).trait_item' -> Hax_engine__Ast.Make(FA).trait_item' ; visit_ty : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).ty -> Hax_engine__Ast.Make(FA).ty ; visit_variant : Hax_engine__Ast_utils.visit_level -> Hax_engine__Ast.Make(FA).variant -> Hax_engine__Ast.Make(FA).variant >
val rename_global_idents_item : (Hax_engine__Ast_utils.visit_level -> Ast.global_ident -> Ast.global_ident) -> AST.item -> AST.item
val add_typ_ascription : Hax_engine__Ast.Make(FA).item -> Hax_engine__Ast.Make(FA).item