Use memcpy instead of a union