A C# .NET Standard library that allows to check for equality and obtain the differences between two objects using reflection. The comparison process can be configured in many ways.
An exception should be thrown if trying to patch a type (e.g. Type1) with a set of differences obtained from a Diff of two objects of unrelated type (e.g. Type2).
Currently it performs a complete Diff operation under the hoods. Internal Diff method should provide an additional parameter to allow to cancel the operation as soon as a difference is found.