hUnitFailure :: String -> HUnitFailure -> Bool
hUnitFailure actual (HUnitFailure _ reason) = case reason of
  Reason expected -> actual == expected
  _ -> False
#else
hUnitFailure :: String -> HUnitFailure -> Bool
hUnitFailure actual (HUnitFailure _ expected) = actual == expected
#endif
hUnitFailure :: String -> HUnitFailure -> Bool
hUnitFailure actual (HUnitFailure _ reason) = case reason of
  Reason expected -> actual == expected
  _ -> False
#else
hUnitFailure :: String -> HUnitFailure -> Bool
hUnitFailure actual (HUnitFailure _ expected) = actual == expected
#endif
hUnitFailure actual (HUnitFailure _ reason) = case reason of
  Reason expected -> actual == expected
  _ -> False
#else
hUnitFailure :: String -> HUnitFailure -> Bool
hUnitFailure actual (HUnitFailure _ expected) = actual == expected
#endif