A parsing rule can be changed while it is being applied, as the following example shows:
rule: ["x" | "y"]parse "xyyxqyyxz" [ some [ rule | "q" (append rule [ | "z" ]) ]] ;== true
When the letter q is found, the rule is enhanced so that it also matches the letter z. That's why parse returns true in this case.