A library for comparing 2 objects with similar contracts