On 2 March 2015 at 09:18, Jordan W wrote: > > I suspect #2 would benefit metaprogramming just as well as the `let .. > and ` example. With metaprogramming, where we wish to isolate the > environments of several bindings simultaneously, how does a *single* > one of these bindings opt into self-recursiveness without forcing the > others into self-recursiveness (and thus "polluting the environment")? There's always this: let x = 4 and y = 7 and factorial = let rec f n = if n = 0 then 1 else n * f (n - 1) in f and z = 12 in ...