Tools for Thinking Functionally

These are tools for thought in functional programming.