3163 - use replace{} to provide scopes for bindings

We have scopes, but how to end scopes? How to insert lines into eval?
I'm growing uncertain that all the different changes we might want to make
in a new layer can be represented with elegant directives. We'll see.
3164
3165

How'll we support destructured params and other advanced features in the
sig? And how'll we update the calls to end_binding when we move to
lexical scope? All this will be practice in managing labels.
3166