>>4
What?
Immutability is not a sufficient or even necessary condition for memoization or what you call ``referential transparency''.
For example, I can write a merge sort which modifes all sorts of things (bindings, objects etc.), and every time you give it the same input, it will give you the same output. It will even take the same steps to get to it.
I don't understand your answer at all.