The test tests the correct start (x1) and skipping (x3 not x2) of symbols because two patterns are present. The test you propose fails in master but doesn't confirm that the next symbol generated is also correct. But it's probably fine, too. Your choice.

Regarding excluding symbols passed by kwargs -- it makes sense to include that as you've mentioned below.