There are cases where we would like objects that contain floats whose value is NaN. The idea was to add a comparison method bool nanSafeEqual(<type> const & other) const; to AFW objects where if a data member is a float and in the body if this->myFloat != other.myFloat then it would also check to see if this->myFloat is NaN AND other.myFloat is NaN, in which case these two objects would be treated as equivalent.
This was identified in obs_test/tests/testMetadataObjectAccess.py, which currently works around the problem by testing members of a VisitInfo object directly. Once this is done that test should be updated. Note that writing nanSafeEqual in VisitInfo will require writing nanSafeEqual for some of its data member types as well.