more typeclasses and scalaz