Scalaz
Principled Functional Programming in Scala
...Its type class–oriented design lets you write generic algorithms over capabilities rather than concrete types, improving reuse and testability. Scalaz also contributes optics, equality/ordering abstractions, and lawful instances with property-based tests to ensure algebraic laws hold. While the Scala ecosystem now includes sibling projects, Scalaz remains a deep toolbox for principled FP in Scala and a reference point for category-theory-inspired design on the JVM.