A module with base functionality for validation of a model.
*Factory* - an abstract factory implementation that makes it easier to create a new validation factory.
*SeverityProducer* - produces a severity (:error, :warning, :ignore) for a given Issue
*DiagnosticProducer* - produces a Diagnostic which binds an Issue to an occurrence of that issue
*Acceptor* - the receiver/sink/collector of computed diagnostics
*DiagnosticFormatter* - produces human readable output for a Diagnostic