Current multiple inheritance works, but the algorithm is not exactly correct. When constructing a multiple inheritance type, derived type inherits from each parent type. However, parent types must be checked for equality since they may not specify unequal restrictions.