I've updated the Wiki page (https://ghc.haskell.org/trac/ghc/wiki/BurningBridgesSlowly)
with what I think would be a sensible course of actions:
Simon Marlow rightly points out that adding a new LANGUAGE pragma is full of backwards compatibility problems.
So, here's a different plan how to introduce BBP.
* Leave Data.List type signatures and exports alone.
* Make ghc 7.10 warn when Data.List has been imported in a way that will break with BBP.
* No changes to Prelude signatures, but ship ghc 7.10 with PreludeBBP (which uses Foldable).
* Make PreludeBBP the default in ghc 7.12 (or later).
This will give us time to discuss exactly what should go into Foldable.
The signature changes in Control.Monad and other modules are unrelated to BBP and should be in ghc 7.10.
The ghc warning for importing Data.List should be as helpful as possible, something like:
Foo:5:1 Warning: Data.List imported unqualified, this will conflict with BBP.
Instead use 'import Data.List(maximumBy, sortBy)'