I see. It seems very backwards to me, to raise a validation error by calling a function that returns false when another validator function raises a validation error. I think it's more sensible to factor out the common part of each validator than to chain them into each other so indirectly.

Chaining *is* the established pattern in ```validation.py```, but in those cases we were able to swing it so that ```validate_x_label``` simply made a call to ```validate_label``` and the appropriate validation error was raised *there*.

I wonder that there may be a more elegant solution to this problem that we're just not seeing.