In this chapter, we will cover the following recipes:
- Working effectively with lambda expressions
- Discovering basic scoping functions – let, also, and apply
- Initializing objects the clean way using the run scoping function
- Working with higher-order functions
- Functions currying
- Function composition
- Implementing the Either Monad design pattern
- Approach to automatic function memoization