The WTF here is that in dumb languages like C you have to use an array of bytes to store something that isn't an array of bytes because making your own types is somewhere on the difficult/stupid/impossible scale.
Because [code]typedef struct { byte* pixeldata } Image; [/code] is hard?