Let\'s look at this functions types for examle:
:t traverse traverse :: (Applicative f, Traversable t) => (a -> f b) -> t a -> f (t b) :t id i