Make type casts invisible and costless