One particular, and reasonably safe use for multiple inheritence comes from the world of CLOS Common Lisp Object System and is known as a mixin. Mixins are used to add a specific bit of functionality to a class, when it makes more sense to have this functionality as a possibly optional component of a class. For example, you could define a mixin class of CSerializable, and then inherit from this class in all other classes that you wish to be serializable.