When there are multiple representations of the same value
(for example, trailing zeros) the verification will fail.
This points users to the error.data object for details about
the failure, and adds a diff so that the cause of the
discrepancy can be seen at a glance.