@@ -86,17 +86,17 @@ class AsSubtype sub sup where
8686 --
8787 -- >>> duck ^? _Sub :: Maybe FourLeggedAnimal
8888 -- Nothing
89− _Sub :: Prism' sup sub
90− _Sub eta = prism injectSub projectSub eta
89+ _Sub :: PrismVL' sup sub
90+ _Sub eta = prismVL injectSub projectSub eta
9191 {-# INLINE _Sub #-}
9292
9393 -- |Injects a subtype into a supertype (upcast).
9494 injectSub :: sub -> sup
95− injectSub = build (_Sub @sub @sup)
95+ injectSub = buildVL (_Sub @sub @sup)
9696
9797 -- |Projects a subtype from a supertype (downcast).
9898 projectSub :: sup -> Either sup sub
99− projectSub = withPrism (_Sub @sub @sup) (\_ b -> b)
99+ projectSub = matchVL (_Sub @sub @sup)
100100
101101 {-# MINIMAL (injectSub, projectSub) | _Sub #-}
102102
@@ -106,7 +106,7 @@ instance
106106 , GAsSubtype (Rep sub) (Rep sup)
107107 ) => AsSubtype sub sup where
108108
109− _Sub = repIso . _GSub . fromIso repIso
109+ _Sub = prismVLRavel (repIso . _GSub . fromIso repIso)
110110
111111-- See Note [Uncluttering type signatures]
112112instance {-# OVERLAPPING #-} AsSubtype a Void where