I think it would be good to do something resembling this, but there is a
serious defect in your proposal, namely that the cost to implementors is
grossly understated ("some compiler work would probably be needed"
indeed!). In fact I have been unable to think of any way to implement
this proposal in a fully shallow-bound system. Either references to the
D environment, or references to the G environment that did not first
search the D environment, would have to be implemented with a
deep-binding style environment search. Your proposal gives no hint of
this efficiency cost. Maybe there's a clever implementation technique I
haven't thought of; if so I wish someone would tell me.
The KMP/EB discussion suggests that the semantics of the proposal are
very confusing even to experts, although perhaps it's just unfamiliar.