Sure, it is good most of the time, but operator precedence rules exist for a reason.
I don't want to read
2.chain(x => x * 2).chain(f)
f(2*x)
They can also be a distraction.
E.g. the library introduces its own promise-unwrapping semantics and more.
I don't see the use for such a generic implementation, although I applaud the effort.
Sure, it is good most of the time, but operator precedence rules exist for a reason.
I don't want to read
instead of These patterns have their place for async programming, pure FP, streams and more.They can also be a distraction.
E.g. the library introduces its own promise-unwrapping semantics and more.
I don't see the use for such a generic implementation, although I applaud the effort.