the emblematic types to use in the traversal
computes the diffs between the left- and right-hand sides
computes the diffs between the left- and right-hand sides
the left-hand side
the right-hand side
emblem.exceptions.CouldNotTraverseException
when an unsupported
type is encountered during the traversal
recursively computes a sequence of diffs between two different values of the same type.
we kind of have to bail on traversing sets, since there is no obvious way to pull out matching pairs of elements from the lhs and rhs sets. if the sets have differing sizes, then we report the difference in size. if the sets are otherwise different, then we report the sets as different.
we similarly do not attempt to differentiate between Union values representing different constituent types. we just report that the type doesn't match.