Looking forward to a proper monad lib in Typescript!
However, I can only assume that molding/abusing types like this might have a big - if not huge - impact on compilation times...
I've created a template-like generic type that allows you compose multiple kinds and replace any property of an object with a function returning the same type as the property, and vscode has such a hard time inferring types that intellisense has become unusable in this context.
Curious to see how this will turn out.