Effective Functional JavaScript: first-class and higher order functions
hackernoon.com