Core concept
trait KV[F[_]] {
def get(k: String): F[String]
def put(k: String, v: String): F[Unit]
}Advertisement
How it works
Type inference challenges. But increasingly standard for FP libraries.
Advertisement
Trade-offs + gotchas
Effect-polymorphic libraries.