
Seems awesome! Even though I'm conflicted on using the type system for depracations, I like the idea of having an official way to staticly mark depracations. Couple of points: 1. Why not supporting deprecating variables in general? Personally, I could use the ability to depracate class attributes/module constants and it seems like this funcitonallity could be reused if `deprecated` was not solely a decorator: `CONST = deprecated("value")` 2. As more features are added, it seems like the typing system becomes less of a "typing system" and more of a "static proccessing system". Unless there is some kind of a vision to change the term "typing system" to something more general, I think changes like this can cause quite an amount of confusion over time.