CoroFrame was not considering static array allocas, and was only ever reserving a single element in the coroutine frame.
This meant that stores to the non-zero'th element would corrupt later frame data.
Store static array allocas as field arrays in the coroutine frame.
Added test.
Does this call need to be changed to Padder.addType(Types.back())?
I can imagine a case where Ty is char and we have a local variable of type char[3] with the next local variable having type int.
Couldn't this result in the Padding object thinking it needs to pad to the next int value by adding char[3] whereas it actually only needs to pad with char?