reduceLeftOption, reduceRightOption
foldLeft
foldLeft
foldRight