@@ -49,15 +49,21 @@ instance (GHasParam p l l' a b, GHasParam p r r' a b) => GHasParam p (l :+: r) (
4949 gparam f (L1 l) = L1 <$> gparam @p f l
5050 gparam f (R1 r) = R1 <$> gparam @p f r
5151
52+-- the parameter we're looking for
5253instance GHasParam p (Rec (param p) a) (Rec (param p) b) a b where
5354 gparam = recIso
5455
56+-- other parameter
5557instance {-# OVERLAPPABLE #-}
5658 ( a ~ b
5759 , p1 ~ p2
5860 ) => GHasParam p (Rec p1 a) (Rec p2 b) c d where
5961 gparam _ = pure
6062
63+-- not a parameter
64+instance GHasParam p (K1 r a) (K1 r a) c d where
65+ gparam _ = pure
66+
6167instance GHasParam p s t a b => GHasParam p (M1 m meta s) (M1 m meta t) a b where
6268 gparam f (M1 x) = M1 <$> gparam @p f x
6369