The Bleep Bleep instructions state:
Then use the new method to void the last item we scanned. Finally, scan only 3 of the same item instead.
However, that's not what's happening. The voidLastTransaction() function only voids one item, so you're not scanning "only 3 of the same item instead", you're scanning 4, removing the last one, and scanning 3 more for a total of 6.
I can understand why it's simplest for teaching purposes to only undo the last transaction rather than an entire scan group, but the instruction wording should make that clear.