Like :py:meth:`normalize.visitor.VisitorPattern.apply` but called
        for ``cast`` operations.  The default implementation passes through but
        squashes exceptions, just like apply.

def reverse(cls, value, prop, visitor):
        """Like :py:meth:`normalize.visitor.VisitorPattern.apply` but called
        for ``cast`` operations.  The default implementation passes through but
        squashes exceptions, just like apply.
        """
        return (
            None if isinstance(value, (AttributeError, KeyError)) else
            value
        )