Spoiler: for the problems I list, it's not.
Any CTO or VP Eng who's tackled hiring or scaling JS teams over the years will tell you the same. You're taking on a fundamentally different runtime, return types, and control flow from idiomatic JS. You're taking on A LOT.
However...
Effect is giving RxJS, Co, etc vibes? Great for one-man-bands but it’s a whole DSL. Unreadable to newcomers. Just a mess for hiring, teams changing, contributions, anyone new coming to the codebase.
Tell me how this time it’s different?