How about adding special equality comparers for `float` and `double` types, which allow you to specify the allowed tolerance for difference? As far as I know there are none in .NET or this library.