A Gentle Introduction to Functional JavaScript: Part 1