Fair enough. But then how about having extends just take a stackframe and replacing calls to this method with a combo of calls to extend(Heap) and extend(Frame). It's just that this behavior, while being logical, is a bit surprising for something called as generically as extend(Env).