These changesets introduce incompatibilities.
I think r45845 and r45856 could be backported (these fix the result [:a, :a, :a] -> [:a, :a] in the ticket's description). r45850 seems like a spec change rather than a bugfix (hide shadowed variable of outer scope).
Any comments?

skipping r45846 because it's not the test for this change.
And, in fact, what is tested here is another problem that exists in the current state 2.0.0.
It is not known at this time how and when it has been fixed in trunk.