GOO's syntax is described almost entirely as GOO patterns. GOO
patterns in turn are defined with a quasiquote metasyntax. Pattern
variables are prefixed with a "," or ",@" to
indicate the matching of one or many elements respectively. The
default is for a pattern variable to match one or many s-expressions.
Alternatively, a pattern variable's shape may be defined with another
The ,name shape is builtin and matches only identifiers.
The '['...']' metasyntax is used to indicate optional
patterns, '...' is used to indicate zero or more of the
preceding pattern element, and ## is used to denote infix
Finally, in this manual, uppercase indicates a special form or macro.