Why not use the following signature?

```scala
def map_foreach[K : JSKey, V : Manifest](m: Rep[Map[K, V]], block: (Rep[K], Rep[V]) => Rep[Unit]): Rep[Unit]
```

So it can be used as follows:

```scala
for ((key, value) <- map) {
  map(key) = value + 1
}
```

Instead of:

```scala
for (pair <- map) {
  map(pair._1) = pair._2 + 1
}
```

The same applies to `map_filter`.