Is there a mainstream language where you can’t arbitrarily cast a variable to any other type?