This u64 does not need to be a reference, it implements Copy...
I have to keep it though because it's in the tests >~<
Why was this i32 mutable?
Also, you don't need to turn this into an iterator...
I don't know why a u64 of all things was marked as mutable, so I removed it.
I also made use of strings, which I think is probably better practice here.