Introduction to functional programming in JavaScript (Nico Burns)