Cats: FreeMonads

Lightweight, modular, and extensible library for functional programming