What NQP is really good for
Parse rule:
rule statement_control:sym<if> { 'if' <EXPR> <block> [ 'else' <else=.block> ]? }
Transform to AST:
method statement_control:sym<if>($/) { my $past := PAST::Op.new( :pasttype('if'), $<EXPR>.ast, $<block>.ast ); if $<else> { $past.push( $<else>[0].ast } make $past; }