Build generates an expression from an optgen string (the kind of expression that would show up in the replace side of a rule).
Optimize generates an expression from an optgen string and runs normalization and exploration rules.
ParseType parses a string describing a type.