i am not discussing pers solution but i am comparing map and automap on mappings.
Yes, and that is stupid since you can simply use Per's solution instead.
please tell me why map(m, lambda(mixed x){ return x->foo; }); is acceptable, while m[*]->foo; is not?
to me both are equally obvious/nonobvious
Both are poor, but for different reasons. Don't use either of them.
pers solution is of course much more obvious, but that is besides the point because that also applies to map(values(m), lambda(mixed x){ return x->foo; });
Of course it does. Which is why your comparison is pointless.