Rule InvokeStart() {
   return Sequence(
       Invoke.builder(),
       AccessExpression(),
       Invoke.access(),
       Optional(Expression(), Invoke.invoke()),
       Invoke.build());
 }
 Rule For() {
   return FirstOf(
       Sequence(
           FOR,
           DOT,
           Invoke.builder(),
           AccessExpression(),
           ForIterationAccessExpression.of(),
           Invoke.access(),
           Invoke.build()),
       Sequence(FOR, For.builder(), ForDeclaration(), For.build()));
 }