Pitch: Genericizing over annotations like throws

I’m very much in favor of a design in this direction for typed throws. Further, I think it’s important that throwing any uninhabited type is treated equivalently to throwing Never in terms of needing to use try when invoked and needing to handle errors, etc. I wrote about why in [Discussion] Analysis of the design of typed throws - #3 by Anton_Zhilin.

This design for typed throws would support abstracting over error types, including whether one throws at all or not which is great! That said, I think it would sit nicely along side a more general effect abstraction feature. They address related (even overlapping) but distinct use cases.