I wonder how a functional version of this would go..<p>You need transportation, so you define an engine and a set of wheels and a chair, and a whole universe. You define a way to have the engine, wheels and a chair work together. You try to sit in the chair, but it&#x27;s too small. You can&#x27;t change the chair because it&#x27;s all immutable, so you create a new chair along with a new universe and build a new car with the new chair.<p>You need to get to work, but you don&#x27;t want to pollute your universe with state, so you don&#x27;t know where work is. So you put all of your state in your relational stateful database and forget that this part exists in your universe. Of course theoretically you could model your knowledge as a function based off the state of the universe, but you don&#x27;t have budget to do that. You write comments about quick hacks to get around purity constraints. The hacks are never removed and you end up passing stateful maps of database tables around. You make a big todo note about how you should implement a new method for handling this that you&#x27;ve read in a new academic paper, but never get the 500 hours you need to implement it.<p>EDIT: For those not getting it, the article is describing the difference between the theory behind OO interaction between self contained actors and how this really plays out in actual code. Instead of doing the theoretical part of communication between actors, we have code which does getCoworker().getWallet(). In the same way above, I&#x27;ve tried to show the difference between theoretical functional programming where we can create pure functions and how this actually plays out in real functional code.