Core concept

def double[F[_]: Functor](fa: F[Int]): F[Int] = fa.map(_ * 2)
Advertisement

How it works

Complex signatures. Type-classical FP heavy.

Advertisement

Trade-offs + gotchas

Generic FP libraries. Effect abstraction.