Mixins
Multiple inheritance has a nice idiomatic usage called mixins
- Highly factored abstract objects
- Generally independent axes
- Each concrete object combines one mixin choice from each axis
Examples axes in GUI
- colored or not, bordered or not, titled or not
In non-polymorphic languages, can use to create (for instance) doubly-linked lists of a given (atomic or user-defined) type