The source for the State transformer in mtl states:
-- ---------------------------------------------------------------------------
-- Instances for other mtl transformers
--
-- All of these instances need UndecidableInstances,
-- because they do not satisfy the coverage condition.
What is the "coverage condition"? All I can tell is that it has something to do with MTPCs and fundeps.