Enforce Functional Programming in JavaScript and TypeScript