Well your second example relies for speed and efficiency on Haskell being lazy. If you did e.g. a map -> filter -> sum chain, the performance is not that great without lazy evaluation guaranteed by Haskell's implementation, which can complicate code in other scenarios or in the complexity of the compiler. OCaml is also an FP language, and the second example would be almost the same text, but with much worse performance.
Also, Python is an OOP language, but a simple map implementation there is not much more verbose:
def map(function, items):
if len(items) != 0:
return [function(items[0]), *map(function, items[1:])]
return []