Now that we have mechanisms for final types, we should use that.
https://www.bassi.io/articles/2021/07/27/final-types/