Adventures in Functional Ruby