Monads are burritos! (where a burrito is an abstract data type...