Implement fold (closes #146)

The build is not failing because of the code.  It's failing because [rabbitmq's website](http://rabbitmq.com) is down.