Audience question: one of Ivan's arguments is that service objects aren't really objects, yet his own approach goes fully in the opposite direction of OOP. When would he use an object-oriented paradigm rather than procedural programming? Ivan's answer: OOP is appropriate for developing frameworks, extending frameworks, or writing libraries/gems. Most everyday application code should be plain procedures, as simple as possible. Concepts like monads and dependency injection belong in library internals, not regular code.