Functor . , Set Functor Haskell, fmap . StrongEq , fmap Set.
fmap . , , ( ), Eq StrongEq .
fmap - , :
fmapBoth :: (Functor f, Functor g) => (a -> b, c -> d) -> (f a, g c) -> (f b, g d)
fmapBoth (h, j) (x, y) = (fmap h x, fmap j y)
, f g, h j. , , fmap, - , , , .
, Set Functor Haskell, , () fmap :: (a -> b) -> Set a -> Set b . , Functor. fmap :: (Eq a -> Eq b) => (a -> b) -> Set a -> Set b .
, , ConstraintKinds GHC extendsion Functor, , Functor ( Ord, Eq). , Monad, Set. , , . Sets , , Functor , .