as->
(as-> expr name step...)
Binds name to the value of each step in turn, the first against expr, and answers
the last step's value. Lowers to nested lets, so shadowing matches the oracle; the
name is an ordinary lexical binding inside every step, not an insertion point.