You can imagine adding a constant somewhere like: constexpr Gigacage::Kind TypedArrayGigacageKind = Gigacage::Primitive; And similarly for other things. I didn't do it that way because I find it useful to see that typed arrays use the primitive gigacage inline in the code, since this is a fundamental assumption. But, maybe others feel differently.