Core concept

import cats._; import cats.implicits._
val fa = Some(1); val ff = Some((_: Int) + 1)
ff <*> fa  // Some(2)
Advertisement

How it works

Category theory abstractions. Cats library.

Advertisement

Trade-offs + gotchas

Type-class-based FP code. Reusable across container types.