It will turn into a hell because JavaScript lacks Haskell's strong type system. The tooling will not give you early warning if you pass a plain function into a construct that expects a promise etc.
Note that I'm talking about writing an entire application in this style, not just sprinkling categories here and there.
https://github.com/joost-de-vries/typescript-ramda/blob/mast...