I thought the same thing when I first ported this. If the loop conditional checks for ```current != last```, then an expression like ```x3::seek[x3::eoi]``` will fail with an empty string input. I don't know when that case (```x3::seek[x3::eoi]```) would be useful, it seems kind of odd to use ```x3::seek``` like that. I figured it was best to keep existing behavior since it did seem correct in that scenario. Tongari wrote the original version, so maybe he knows of a use case.