This is a scalar mapStore in that the keys can only be atomic values: primitives or remotables. Other mapStores will accept, for example, copyArrays and copyRecords as keys and look them up based on equality of their contents.

TODO For now, this scalarWeakMap accepts only remotables, reflecting the constraints of the underlying JavaScript WeakMap it uses internally. But it should accept the primitives as well, storing them in a separate internal map. What makes it "weak" is that it provides no API for enumerating what's there. Though note that this would only enables collection of the remotables, since the other primitives may always reappear.