import scalaz._
import Scalaz._
scala> val m = Map("a" -> (1, 10), "b" -> (2, 20))
m: scala.collection.immutable.Map[java.lang.String,(Int, Int)] = Map(a -> (1,10), b -> (2,20))
scala> val (a, b) = m.toSeq foldMap { case (k, (v1, v2)) => (Map(k -> v1), Map(k -> v2)) }
a: scala.collection.immutable.Map[java.lang.String,Int] = Map(b -> 2, a -> 1)
b: scala.collection.immutable.Map[java.lang.String,Int] = Map(b -> 20, a -> 10)