Use structured errors during validation

These should be public, too, perhaps sans "validationError"? ErrTypeUnsupported, ErrTypeInvalid, etc?