Beginning Functional JavaScript: Functional Programming with JavaScript Using EcmaScript 6