Minor changes in the behavior of MDL classes can often be realized by changing the default value of some of its interface parameters. This can be obtained by using the AliasedModel construct:
AliasedModel newtype : oldtype {
Parameter name = expr;
// other default value specifications
}
This definition results in a new MDL class with the type newtype. The new class inherits all definitions of oldtype except the default value of the interface parameter name which is changed to the result of expr. In that case, no difference is made between protected and private elements of the parent class oldtype.