How about combining the two first rules (`[1] and [2]`) as `[1:1|2]`?