Scalaz is a library that provides new datatypes like Validation and NonEmptyList as well as extensions to standard classes like Option and List. It implements general functions using ad-hoc polymorphism through traits, implicit parameters, and implicit conversions. Some key features include typeclasses for monoid, functor, monad, and more. The library uses implicit conversions called "pimps" to extend existing types with these functions and typeclasses in a clean way.