@@ -49,15 +49,21 @@ instance (GHasParam p l l' a b, GHasParam p r r' a b) => GHasParam p (l :+: r) (
49 gparam f (L1 l) = L1 <$> gparam @p f l
49 gparam f (L1 l) = L1 <$> gparam @p f l
50 gparam f (R1 r) = R1 <$> gparam @p f r
50 gparam f (R1 r) = R1 <$> gparam @p f r
52+-- the parameter we're looking for
52instance GHasParam p (Rec (param p) a) (Rec (param p) b) a b where
53instance GHasParam p (Rec (param p) a) (Rec (param p) b) a b where
53 gparam = recIso
54 gparam = recIso
55instance {-# OVERLAPPABLE #-}
57instance {-# OVERLAPPABLE #-}
58 ) => GHasParam p (Rec p1 a) (Rec p2 b) c d where
60 ) => GHasParam p (Rec p1 a) (Rec p2 b) c d where
59 gparam _ = pure
61 gparam _ = pure
64+instance GHasParam p (K1 r a) (K1 r a) c d where
61instance GHasParam p s t a b => GHasParam p (M1 m meta s) (M1 m meta t) a b where
67instance GHasParam p s t a b => GHasParam p (M1 m meta s) (M1 m meta t) a b where
62 gparam f (M1 x) = M1 <$> gparam @p f x
68 gparam f (M1 x) = M1 <$> gparam @p f x