The struct definitions in atypes are used by the compiler. Their "hard implemented" counterparts re used by the engine. Both must correspond exactly - that's why each struct element in atypes must be at the right position in the struct.