Allow running all the existing solutions
Readd grammar variants

Unlike I remembered, most of them are equally fast. But that's for the
versions which workaround the bug with alternatives, that is, use
opt("[()]".r) instead of opt("(" | ")").