tomjaguarpaw:
It can grow dynamically.
Yes, but that would require a completely different implementation. No matter how you slice it these references will have to live in CPU cache, and a static table is the most compact solution to that.
Much like with [RFC] Mutable records as a GHC extension, I view a simple solution that fits the existing model as infinitely more preferable to both the status quo and the “dependent types are just a week away” line of approach.