functional programming scratchpad