{-# OPTIONS_HADDOCK not-home #-}
module Optics.Internal.Traversal where
import Data.Profunctor.Indexed
import Optics.Internal.Optic
import Optics.Internal.Fold
import Optics.Internal.Setter
traversed__
:: (Traversing p, Traversable f)
=> Optic__ p i i (f a) (f b) a b
traversed__ = wander traverse
{-# INLINE [0] traversed__ #-}
{-# RULES
"traversed__ -> wander traverse"
forall (o :: Star g i a b). traversed__ o = wander traverse o
:: Traversable f => Star g i (f a) (f b)
"traversed__ -> folded__"
forall (o :: Forget r i a b). traversed__ o = folded__ o
:: Foldable f => Forget r i (f a) (f b)
"traversed__ -> mapped__"
forall (o :: FunArrow i a b). traversed__ o = mapped__ o
:: Functor f => FunArrow i (f a) (f b)
#-}