Exactly. Consider that malloc returns the address of 1, and the sizes/alignments are as follows:

```
[ 20, 4 ]
[ 8, 8 ]
[12, 2 ]
```

The offsets for these will be:

```
0
24
32
```

But, if malloc returns the address of `1`, our actual addresses for the start of each of the start arrays will be:

```
1
25
33
```

which does not respect the types' alignments.