Hell, actually no, the notation
```scala
for((key, value) <- map)
```
is translated into a call to `filter` followed by one to `foreach` on the filtered result.

But to use for-comprehension, the method has to have only one parameter of type tuple (see standard API),
so you probably meant
```scala
def map_foreach[K : JSKey, V : Manifest](m: Rep[Map[K, V]], block: ((Rep[K], Rep[V])) => Rep[Unit]): Rep[Unit]
```
even if it is semantically identical, the generated code is not the same

However what can be done with your version is
```scala
map.foreach {
  case (key, value) =>
    map(key) = value + 1
}
```