module Fresnel.Traversal1.Internal ( IsTraversal1 ) where import Control.Arrow (Kleisli) import Data.Functor.Apply import Data.Profunctor (Forget, Star) import Fresnel.Lens.Internal (IsLens) import Fresnel.Profunctor.OptionalStar (OptionalStar) import Fresnel.Profunctor.Star1 (Star1) import Fresnel.Profunctor.Traversing1 (Traversing1) class (IsLens p, Traversing1 p) => IsTraversal1 p instance IsTraversal1 (->) instance Monad m => IsTraversal1 (Kleisli m) instance Semigroup r => IsTraversal1 (Forget r) instance Applicative f => IsTraversal1 (Star f) instance Apply f => IsTraversal1 (Star1 f) instance Apply f => IsTraversal1 (OptionalStar f)