functional programming - David Calhoun's blog