+FlyingMonster : GameUnit, HasWings >>                                         /* Внешний тип данных */
 GameUnit, HasWings : _
 Weapon : UnitWeapon
 Location : ?
 ...
;
                                                                               /* - - - - */




UnitWeapon >>                                                                  /* Внутренний тип данных */
 Arm : List : ARM_* <- Record
;

Helicopter = FlyingMonster [Air]                                               /* Два новых типа на их основе */
MetalMarine = FlyingMonster [Sea]