Solutions to http://maryrosecook.com/post/a-practical-introduction-to-functional-programming