I beg to differ. map() works just fine on mappings:
mapping m=([ 1:2, 2:3, 3:4 ]); map(m, lambda(mixed x) { return x*x; });
(1) Result: ([ /* 3 elements */ 1: 4, 2: 9, 3: 16 ])
You can perhaps argue that automap should also return a mapping, but I think it makes more sense to return an array in the case of the automap.