First of all that is an interesting point. Given that it isn't as potentially dangerous I'll agree that it is less bad than I initially thought.
I'll respond to your question by asking you a question. Which of the following expressions evaluate to "truthy"?
'truthy' if (a, b = []) # =>
'truthy' if (a, b = nil) # =>
'truthy' if (a, b = [nil]) # =>
'truthy' if (a, b = [nil, nil]) # =>
'truthy' if (a, b = [false]) # =>
'truthy' if (a, b = [false, false]) # =>
'truthy' if (a, b = [true, false]) # =>
'truthy' if (a, b = [false, true]) # =>
'truthy' if (a, b = *[]) # =>
'truthy' if (a, b = *nil) # =>
'truthy' if (a, b = *[nil]) # =>
'truthy' if (a, b = *[nil, nil]) # =>
'truthy' if (a, b = *[false]) # =>
'truthy' if (a, b = *[false, false]) # =>
'truthy' if (a, b = *[true, false]) # =>
'truthy' if (a, b = *[false, true]) # =>
The answer is in this gist:
https://gist.github.com/backus/c9b70dee67470698fd7d4a66ddf03.... Don't peek!