Traversal
Overview
A Traversal s a "zooms in" on arbitrarily many a's "contained" in s whereas #Lens can only zoom into single a Traversal allows you to traverse over a structure and change out its contents with monadic or Applicative side-effects.
code:traversal.hs
type Traversal s t a b = forall f . Applicative f =>(a -> f b) -> s -> f t