no reason for these to be hashes
we don't need the preamble at all here
and so no reason to keep these uppercase
capitalize error message
parser functions return undef on error now
don't leave partially built metaclasses around on syntax errors