use uninit for cast::transmute_copy