1. **this** 2. **immutable** data objects using a linter 3. **immutable** objects and **collections** 4. data transformations using core operations like **filter, map, sort, or reduce** 5. use statements like **if and switch** in a functional way 6. create **pipelines** and use **currying** to pass additional data 7. create and use **functors** and **monads**