Moved the code to a module.
Updated .gitignore to ignore vim's swap files.
Added functions for creating catamorphisms with arguments.

The arguments are propagated downwards when evaluating the catamorphisms.