I've tried to apply your suggestion, but applying it gets really complicated for all the different possibilities:

* Created in a temporary scope, used in a later example.
* Created in a temporary scope, used in a later temporary scope.
* Created in an example, used in a later example.
* Created in an example, used in a temporary scope after the example.

Doing this properly will require a bunch of extra state, for what is an edge case.  I'm not convinced it's worth it...but maybe you want to take a stab at it after this is merged?