The size of an object is not necessarily the same as the size of the type
of an object. This is because by default object sizes are increased to be
a multiple of the alignment of the object. For example,
31, but by default objects of type
Natural will have a size of 32 bits.
Similarly, a record containing an integer and a character:
type Rec is record I : Integer; C : Character; end record;
will have a size of 40 (that is
Rec'Size will be 40). The
alignment will be 4, because of the
integer field, and so the default size of record objects for this type
will be 64 (8 bytes).