strip_anylet : term -> (term * term) list list * term
- strip_anylet ``let g x = A in
let v = g x y in
let f x y (a,b) = g a
and foo = M
in
f x foo v``;
> val it =
([[(`g x`, `A`)],
[(`v`, `g x y`)],
[(`f x y (a,b)`, `g a`), (`foo`, `M`)]], `f x foo v`)