I'd caution the reader that this post is about purely functional, type theoretically defined languages. I haven't yet generalized to languages with implicit effects (tho I suspect it's possible). Explicit, type-defined effects via free monad-like setups are entirely possible with this, however.