Oh, right, I think I remember some similar use cases in Haskell (perhaps I should really look into Haskell at some point again to refresh all that stuff). I would assume that some of these use cases might also be replaced replaceable with const generics?
(Sorry for bringing a complex issue to this thread … We could move to a new thread if this triggers a larger discussion, of course.)