In this chapter, we took a deep dive into one of the most esoteric branches of JavaScript programming. We learned about monads, how to use them for the greater good, and how not to care about the laws of math if we really don't need to. Then, we got comfortable using vocabulary such as pure functions, mutable/immutable objects, and referential transparency.
We know that there is a caching pattern for pure functions if we need it. This great approach can be useful in many Flux apps. You now can work effectively with selectors and make them dead simple using the Maybe monad, which takes away the null-checking burden.
With all of this expertise, it is now time to learn the challenges of maintaining dependencies and large code bases. In the next chapter, you will face a major challenge of every big code base, and believe me, every major company struggles with this at...