compiled with Scalaz 7.0.2