Yeah it was a bit of a learning curve in the old days, but promises and async concepts are so prevalent now in vanilla js that most people seem to be able to handle the basics without much hassle and be at least productive. I guess it depends how crazy you go with flatmap and zips and taps etc - most code I see these days usually have very simple pipe() sections compared to several years ago.