In this chapter, we started a review of the most important concepts we have learned so far and also revisited some common misconceptions about functional reactive programming and reactive extensions.
In our review, we learned the difference between map() and flatMap(),the power of the flatMap()operator, filtering data and falsy/truthy values, aggregating data, strategies to deal with backpressure, and combining observables.
Elsewhere in this chapter, we learned some new operators such as flatMapLatest(), flatMapFirst(), finally(), groupBy(), and do().
We have already learned how to combine observables; in the next chapter we will learn a new concept called a transducer. Transducers let us combine operators, which improves readability and reuse, helping us to write clearer and more concise applications using functional reactive programming.