9 tips about using cats in Scala you might want to know
Briefly

The examples and specific names are for cats, but scalaz syntax should be similar, owing to common theoretical background.
...
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) :
...
Why should you bother using an - arguably confusing - symbolic operator for a seemingly no-effect operation?Well, once you start using ApplicativeError and/or MonadError, you'll find the operation preserves the error effect for your entire flow.
...
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.
Read at Medium
[
add
]
[
|
|
]