A dyn-compatible version of Eq trait.
The implementation constraints for this trait are the same as for Eq:
the implementation must be reflexive, symmetric, and transitive.
Additionally, if two values can be compared with DynEq and PartialEq then
they must be DynEq-equal if and only if they are PartialEq-equal.
It is therefore strongly discouraged to implement this trait for types
that implement PartialEq<Other> or Eq<Other> for any type Other other than Self.