@@ -53,11 +53,20 @@ instance
53class HasTypesDeep a s where
53class HasTypesDeep a s where
54 typesDeep :: Traversal' s a
54 typesDeep :: Traversal' s a
57+ foldOr :: Applicative g => (a -> g a) -> b -> g b
62+instance {-# OVERLAPPABLE #-} Or a b where
57− ( HasConstraints' ((~) a) s
66+ ( HasConstraints' (Or a) s
58 ) => HasTypesDeep a s where
67 ) => HasTypesDeep a s where
60− typesDeep f s = constraints' @((~) a) f s
69+ typesDeep f s = constraints' @(Or a) (foldOr f) s
62--------------------------------------------------------------------------------
71--------------------------------------------------------------------------------
63type family Primitive a :: Bool where
72type family Primitive a :: Bool where