Ok, I tried it.

With `Voids` and casting (release build):  1707036 bytes
With `Array<TemplateInstances>` (release build):  1707548 bytes

That's 512 bytes, or 0.03% size increase.  I'd be very surprised if you could show any performance degradation at all.