Require f to just be a functor in Free Applicative instance