There’s more than just NAN, though, so I’m unsure how helpful it’d be generically.
Imagine an enum Either<TL,TR> { Left(TL), Right(TR) }. That should be only PartialEq even if TL:Eq and TR:Eq because the two sides are incomparable: Left(0) != Right("A") even though Left(0) == Left(0) and Right("A") == Right("A").