Functors and Applicatives for fun and profit