This article shows how to use a free monad in Haskell to work with song recommendations. It is part of a larger series that looks at different ways to solve problems with functional programming using Haskell, F#, and C#.