9 tips about using cats in Scala you might want to know
The *> operator, defined on any Apply (so, Applicative, Monad etc.), simply means "process the original computation, and replace the result with whatever is given in the second argument", or, in code terms (in the Monad variant) :
...
more importantly, >> has the second operand be invoked call-by-name, i.e. fb: => F[B] .
...
mapN is a helpful utility function in the context of tuples.