Shadowing vs. Setting value in F#
问题 I've been introduced that data, by default is immutable in F#. When we reassign value to some variable, what really happens is that it rebinds the value of variable, but setting a new value is different thing. Rebinding is called Shadowing whilst setting new value is impossible if we explicitly don't say that value of the variable is mutable. Can anybody explain me this concept in details? what's difference between shadowing (rebinding) by let var = "new_value" and Setting new value like var