
Is there a reason you need to make the warning go away?
I'm a haskell newbie, and the build system is telling me I'm doing something that may break my program. I'd definitely be happier if the warning weren't there :)
Maybe your installed version of parsec is built against mtl-1 - parsec is a dependency of json.
ghc-pkg doesn't list mtl as a dependency of parsec. I didn't think I had mtl-1 installed (it's not in my .cabal directory), but now I see that it's part of the haskell base install. So now I'm wondering why cabal felt that it needed to install mtl-2 for hslogger, when I apparently already had mtl-1 installed, and hslogger doesn't list a version for its mtl dep. Is it because hslogger depends on base >= 4, while json depends on base >= 3? Does that sound like a probable cause?