Валерий Шипков обнаружил интересную особенность компилятора, не работает упаковка обычных записей.

Вот простейшая демонстрация находки:
## Код:
```
MODULE TestRecPack;
       
       IMPORT SYSTEM, Log;

       TYPE
               NotAligned =  RECORD [noalign]
                       b1: BYTE;
                       i1: INTEGER;
                       b2: BYTE;
                       i2: INTEGER;
                       b3: BYTE;
                       i3: INTEGER;
                       b4: BYTE;
                       i4: INTEGER;
               END;

               Aligned =  RECORD
                       b1: BYTE;
                       i1: INTEGER;
                       b2: BYTE;
                       i2: INTEGER;
                       b3: BYTE;
                       i3: INTEGER;
                       b4: BYTE;
                       i4: INTEGER;
               END;
               
       PROCEDURE Start*;
               VAR
       BEGIN
               Log.String("Not aligned: "); Log.Int(SIZE(NotAligned)); Log.Ln;
               Log.String("Aligned: ");Log.Int(SIZE(Aligned)); Log.Ln;
       END Start;
       
END TestRecPack.

^Q  TestRecPack.Start
```


Результат несколько неожиданный...

## Код:
```
Not aligned:  20
Aligned:  32
```


Как вы думаете это баг или фича?