We’ve not yet found a safe way to implement generic/polymorphic sum types without sacrificing ergonomics.
We have however found in practice that monomorphic types are sufficient for the vast majority of domain types.