| `Var of var ]
type 'nf nf_ =
[ `I of var * 'nf Listx.listx
- | `Lam of bool * 'nf nf_
+ | `Lam of bool * 'nf nf_ * ('nf nf_) list
| `Match of 'nf i_num_var_ * var * int * (int * 'nf) list ref * 'nf list
| `N of int
| `Var of var ]
val free_vars : nf -> int list
module ToScott :
sig
+ val bomb : nf ref
val t_of_i_num_var : nf i_num_var_ -> Pure.Pure.t
val t_of_nf : nf -> Pure.Pure.t
end
val mk_appx : nf -> nf Listx.listx -> nf
val mk_match : nf i_num_var_ -> var -> int -> (int * nf) list ref -> nf list -> nf
val subst : bool -> bool -> int -> nf -> nf -> nf
-val parse' : string list -> nf list * string list
val eta_compare : nf -> nf -> int
val eta_eq : [< nf ] -> [< nf ] -> bool
val eta_subterm : [< nf ] -> [< nf ] -> bool