Its signature is: def disperse[F[_] : Applicative, A, B, C](f: F[B], g: A => B => C): T[A] => F[T[C]]What does it do? f is the Applicative context he is going to evolve when we traverse the structure, but regardless of what the elements of type A are g is a function which, for each element of type A says what to do with the current context value, B, and map that element back to the str