I wrote: > eval (Let v e1 e2) = eval e2 with ?env = (v, eval e1) : ?env [Blush] Andy Gill pointed out that this example was ambiguous because it wasn't clear if I wanted this "Let" to be recursive or non-recursive. My intention was that this was a non-recursive let. -- Alastair Reid