>>> sequenceAOf both ([1,2],[3,4]) [(1,3),(1,4),(2,3),(2,4)]
sequenceA ≡ sequenceAOf traverse ≡ traverse id sequenceAOf l ≡ traverseOf l id ≡ l id
sequenceAOf :: Functor f => Iso s t (f b) b -> s -> f t sequenceAOf :: Functor f => Lens s t (f b) b -> s -> f t sequenceAOf :: Applicative f => Traversal s t (f b) b -> s -> f t
sequenceA_ ≡ sequenceAOf_ folded
>>> sequenceAOf_ both (putStrLn "hello",putStrLn "world") hello world
sequenceAOf_ :: Functor f => Getter s (f a) -> s -> f () sequenceAOf_ :: Applicative f => Fold s (f a) -> s -> f () sequenceAOf_ :: Functor f => Lens' s (f a) -> s -> f () sequenceAOf_ :: Functor f => Iso' s (f a) -> s -> f () sequenceAOf_ :: Applicative f => Traversal' s (f a) -> s -> f () sequenceAOf_ :: Applicative f => Prism' s (f a) -> s -> f ()