Phrases like "free monads" and "finally tagless" get thrown around in the Scala community like they're going out of fashion. But what do they mean and why are they so popular? In this talk we will discuss "interpreters", an essential functional programming pattern that underpins these terms. We will show how any problem in functional programming can be described using the interpreter pattern, and how modelling things this way naturally gives rise to abstractions like the free monad and encodings like finally tagless. Mark is a consultant with Underscore and functional programming enthusiast. His mission is to help developers flourish and companies succeed. He has provided leadership and technology solutions for companies for more than two decades. As a casual beekeeper Mark sometimes finds curious parallels between people and bees.