raulraja
fun <G, A, B> Kind<F, A>.traverse(f: (A) -> Kind<G, B>, with Applicative<G>): Kind<G, Kind<F, B>>