sealed-monad
Scala library for business logic oriented, for-comprehension-style error handling

Easy to read and write
Focused on using for-comprehension syntax rather than composing combinators.

Flexible
Preserves locality. Works with any monad and programming style.

ADT-driven
Built with representing precisely modeled data in mind.