(1) Upon reading arc.arc, I noticed that strings not being lists is a compromise, implying that whole set of problems may go away at some point.
(2) "If you want Haskell, you know where to find it". I really do think that the Right Thing is for the list to be built of the return type of first function. But that is impossible in a dynamically typed language so the Right Thing is probably the type of the sequence map was given.
However, from a pragmatic standpoint, I've more often needed to map the characters of a string to something else.
I know this because most Scheme code where I map over a string looks like this:
(map (lambda (c) (char->integer c)) (string->list "foo"))
In the PLT standard collects, it looks like about it's about half and half, though; perhaps a few more uses of map in which the return type is not ultimately a string.