Collection of examples using Free monads in Scala