This is really true. I feel somehow the problem came when the functional programming gang hijacked it and forced ES6 on us. Promises were so counter intuitive they had to create shortly after async / wait...
Don't get me wrong there are alot of great things in ES6, but it was not quite the same language after...