let a = 1
let a = 2
let b = a
Этот код спокойно компилируется, запускается и связывает b = 2.
Но является ли это желаемым поведением? Это позволяет кодировщику повторно использовать соответствующее имя значения, никакие объекты не были изменены, однако среди n строк кода слишком легко случайно снова использовать имя значения в том же пространстве имен. а с практической точки зрения ввести ошибку путем мутации. Интересно, как это согласуется с функциональной парадигмой и должно ли быть своего рода предупреждение.