A primer on functional JavaScript