One of the reasons could be that most programming languages do not have immutable datastructures by default, and most students are taught to progam within a "mutable" environment. Isn't of the first things they teach at schools about "variables", symbols which refer to locations in RAM which might change their contents at any time (at languages like C, Java and C#)?
I think Rich Hickey calls this "place oriented programming" ;)
It is funny how mathematical formulas do not have a "return" statement, they are just evaluated. Math doesn't have an assignment operation either.