I asked if
> maybe the actual solution is to [have `GlobalIdSet` "be-a" `GlobalIdMapping`].

Alternatively, to create a `GlobalIdSet::getMapping()` method that "just" forwards to `Base::getMapping()`.  It really depends on the intended semantics of the `GlobalIdSet` vs. `GlobalIdMapping` classes.