im not a functional guru, but it seems like one nice plus that is not usually mentioned when people praise the funtional style (testable, threadsafe, parallelizable, easier to reason about) is that (and i could be getting this really wrong) it seems like things like maybe, and functors in general help solve dealing with 0, 1, or many of a thing- like when its done right, youve abstracted away ever considering about that. im sure that 0, 1 many headache has a name but i forget it.