Is it possible to create an array from packed structs of different types but of the same size?

In reply to KristofK:

This code is legal. Your code worked for me on four different simulators on EDAplayground.com

You might try using an array concatenation {} instead of an assignment pattern '{}.