The test was failing because a pool dictionary (MCMockAPoolDictionary) is not in the mockPackage.
So I used the ability to import this one from Smalltalk globals into the Environment named: 'MCEnvironmentLoadTest'.

But it's not enough, the test is still failing.
This is because Class>>sharing: is using environment at:ifAbsent:
But at:ifAbsent: is using the declarations (that is the classes attached to this environment) not the bindings (the classes visible from this environment).

I could change it to use valueOf:ifAbsent: eventually
But there is a single sender, so I just wonder...
And it also would mean we can't revert Environment as easily if ever we start using environment specific messages.

I also wonder if some of the emulation messages should not inquire the bindings rather than the declarations?
But what if an environment does not importSelf?
For example, how to define a class A, and a subclass B of A in an environment which does not import self if we use the bindings? (I mean we can't reference A, can we?)

Can we have an example when not importing self really makes sense?

Thoughts?