Essential JS - Functional programming in JavaScript the right way