@@ -74,6 +74,7 @@ import Data.DList (DList)
7474import Data.Fixed (Fixed, HasResolution)
7575import Data.Foldable (toList)
7676import Data.Functor.Compose (Compose(..))
77+import Data.Functor.Contravariant (Contravariant (..))
7778import Data.Functor.Identity (Identity(..))
7879import Data.Functor.Product (Product(..))
7980import Data.Functor.Sum (Sum(..))
@@ -498,6 +499,9 @@ toJSONKeyTextEnc e = ToJSONKeyText tot e
498499 . E.encodingToLazyByteString
499500 . e
500501
502+instance Contravariant ToJSONKeyFunction where
503+ contramap = contramapToJSONKeyFunction
504+
501505-- | Contravariant map, as 'ToJSONKeyFunction' is a contravariant functor.
502506contramapToJSONKeyFunction :: (b -> a) -> ToJSONKeyFunction a -> ToJSONKeyFunction b
503507contramapToJSONKeyFunction h x = case x of