Notes and code generated while studying Pearls of Functional Algorithm Design, by Richard Bird