Structs

A parse pair is a way of representing an AST, without actually using any datatypes that depend on the language definition. This represents a parse pair for a sort. It stores which constructor was chosen.

Enums

A parse pair is a way of representing an AST, without actually using any datatypes that depend on the language definition. This represents a parse pair for a constructor. Each constructor generates one of the variants of this enum.