https://9dok.net/document/q05vxxpl-gradual-typing-for-annotated-type-systems.html