preferredVersionsOrdering :: [VR] -> Ver -> Ver -> Ordering
preferredVersionsOrdering vrs v1 v2 = compare (check v1) (check v2)
  where
     check v = Prelude.length . Prelude.filter (==True) .
               Prelude.map (flip checkVR v) $ vrs

-- | Traversal that tries to establish package preferences (not constraints).
-- Works by reordering choice nodes.
preferredVersionsOrdering :: [VR] -> Ver -> Ver -> Ordering
preferredVersionsOrdering vrs v1 v2 = compare (check v1) (check v2)
  where
     check v = Prelude.length . Prelude.filter (==True) .
               Prelude.map (flip checkVR v) $ vrs

-- | Traversal that tries to establish package preferences (not constraints).
-- Works by reordering choice nodes.
preferredVersionsOrdering vrs v1 v2 = compare (check v1) (check v2)
  where
     check v = Prelude.length . Prelude.filter (==True) .
               Prelude.map (flip checkVR v) $ vrs

-- | Traversal that tries to establish package preferences (not constraints).
-- Works by reordering choice nodes.