Another comment and suggestions from Bob :)

Moving validation to the compiler where all other schema validations
occur.

Using the IdentifierTooLongError error message format for this.  Seemed
the most accurate.