In this chapter, we saw lambdas in the real world. We saw how they interacted with checked exceptions, and
how to work with those exceptional cases by accepting callbacks and returning encapsulated results. More
importantly, we saw how to think through and develop a solution for a non-trivial problem by processing
streams using our lambda tools.
In the next chapter, we will address another difficult space where lambdas and streams can make life
a lot easier: database access. We will extend the approach that we laid out here, but we will get to see more
about working with and transforming data elements themselves.