The Diamond Problem - Designing Sound Inheritance Hierarchies | OneNoughtOne