Mostly Adequate Guide to Functional Programming#