Por que o mapa retorna um objeto de mapa em vez de uma lista no Python 3?

Estou interessado em entender onovo design de linguagem do Python 3.x.

Eu aprecio, no Python 2.7, a funçãomap:

Python 2.7.12
In[2]: map(lambda x: x+1, [1,2,3])
Out[2]: [2, 3, 4]

No entanto, no Python 3.x, as coisas mudaram:

Python 3.5.1
In[2]: map(lambda x: x+1, [1,2,3])
Out[2]: <map at 0x4218390>

Entendo o como, mas não consegui encontrar uma referência ao porquê. Por que os designers de idiomas fizeram essa escolha, que, na minha opinião, introduz muita dor. Isso foi para desmembrar os desenvolvedores na aderência à compreensão das listas?

IMO, a lista pode ser pensada naturalmente comoFunctors; e de alguma forma me foi pensado para pensar desta maneira:

fmap :: (a -> b) -> f a -> f b

questionAnswers(4)

yourAnswerToTheQuestion