`let` variables should be able to refer to previous variables

In other words, our `let` semantics should be equivalent to elisp's
`let*`.