Why doesn't redeclaration of 'optional binding' create an error?
<p>I am doing this in Playground, but I am not getting any error. Am I not recreating constant <code>range</code>? Is it happening in 2 different scopes? What's happening in the background that makes this <em>not</em> an error?</p>

<pre><code>if let range = add1.rangeOfString(", ") {
    print(add1.substringToIndex(range.startIndex))
    print (range)
}

if let range = add1.rangeOfString(", ") {
    print(add1.substringToIndex(range.startIndex))
    print (range)
}
</code></pre>