traverse :: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
data MyType ... = ... deriving (Traversable)