Free is a higher-order monad.