. . . "Languages such as F# and Haskell do make it easier to do this stuff, e.g., https://en.wikibooks.org/wiki/F_Sharp_Programming/Computation_Expressions" . .