Some test frameworks or test environments can provide more structured information about the failure than a pair of strings (expected/actual). For example, if expected and actual values are stored in text files on disk, then the paths to those files can be included.
Suggested entry point: getAdditionalInfo() method in AssertionFailedError
Types hierarchy can be similar to JUnit's TestSource.
A serializable marker interface AssertionFailedInfo extends Serializable
A set of implementations that can be type-checked in runtime. E.g.
FileComparisonInfo implements AssertionFailedInfo, FileComparisonData
This can also cover some other requests, e.g. #72