This module provides routines to verify type specifications.
A value is verified in one of four ways:
- If the value is a subclass of the specification.
- If the value’s class is registered with the specification (using the
- If the value is registered with the specification (using the
- If the value is a container that can be iterated over and whose contents can be verified.
The last of these must inspect all values, so can be inefficient.
Don’t forget that type specifications also work with