Enumerable::Lazy#zip doesn't rewind internal enumerators
All enumerables passed to Enumerable::Lazy#zip are converted into lazy enumerators.
When result evaluated - ruby iterates over this enumerators while calling #next to retrieve the next value.
But those enumerators are not rewinded:
I believe that is not the desired behavior here and a.to_a should always return the same value.