"I'm sorry I coined the term 'objects' for this topic ... the big idea is "messaging"' - Alan Kay
Stop thinking about objects and start thinking about the messages you're sending and how they can be handled and you will have simpler methods. In this talk we cover a couple of key patterns and see how they open the door to simpler, clearer, more extensible code.
Object-functional languages have a number of desirable properties and have proven very useful in practice. Unfortunately, the merger brings with it a raft of complexities, being the root of nearly all of Scala's infamous complexity. This talk will present a new framework for resolving these issue, based around the notion of statically-typed functional object prototypes.