Functional codebases have fewer bugs than object-oriented ones, because of their tendency to avoid side-effects and have stronger types. In this talk, I demonstrate how to apply many of functional principles to object-oriented codebases, and reap higher quality code.