Cast now calls the appropriate value cast or move function.