Represents an item in a sugared
Which is the direct result of parsing
Each syntax-level construct has it’s own
When macros are added, for instance, they will be here,
But not in the
CST, which is the desugared syntax tree,
and represents language-level constructs
Represents a CSTPattern during the AST phase of compilation. A pattern is like a very general type, because Passerine uses structural row-based typing.
Represents an argument pattern, i.e. the mini language used to match macros.