ScalaZ Disjunctions
appliedscala.com