Fix FIRM generation for arrays

It's amazing how small this diff is given how much pain arrays have given me, but these *should* work now in all cases.

Fixes #167
{nit} please add a comment `/* array and class types */` to make this immediately visible