See UnkindPartition/tasty#80
The gist of it is that cabal unnecessarily suggests upgrading mtl from a globally installed version, then refuses to do it.
I thought the solver introduces constraints for the installed packages, but that didn't happen here, apparently.