これが私の単純な集計の実装です。
val mapping = Map("AA" -> "A", "AB" -> "A", "B" -> "B")
val input = Map("AA" -> 1, "AB" -> 1, "B" -> 1)
val output = input.groupBy { case (k, _) => mapping(k) }
.mapValues(_.values.sum)
scalaz を使用したよりスマートな実装はありますか?