The rule is a polymorphic parser that acts as a named placeholder capturing
the behavior of a Parsing
Expression Grammar expression assigned to it. Naming a Parsing
Expression Grammar expression allows it to be referenced later
and makes it possible for the rule to call itself. This is one of the
most important mechanisms and the reason behind the word "recursive"
in recursive descent parsing.

Specifies the rule's synthesized (return value) and inherited
attributes (arguments). More on this here: Nonterminal.

unused_type.
When Signature
defaults to unused_type,
the effect is the same as specifying a signature of void()
which is also equivalent to unused_type()

Skipper

Specifies the rule's skipper parser. Specify this if you want
the rule to skip white spaces. If this is not specified, the
rule is an "implicit lexeme" and will not skip spaces.
"implicit lexeme" rules can still be called with
a skipper. In such a case, the rule does a pre-skip just as
all lexemes and primitives do.