flatMap je monada ;-)
map muze produkovat seznamy seznamu, pak je problem nacpat to do reduce. flatMap to vsechno vrati v jednom seznamu, kde vsechny objekty nejsou seznamy. krome toho je to monada v Haskellu, takze tim jde simulovat I/O a imperativni programco.
map -> [0,[1],[2,[3],[4]]]
flatMap -> [0,1,2,3,4]