Use IO for uniqueSupply in SimplM
When already operating in an IO Monad it's generally "better" (faster) to conjure up new Uniques from the RealWorld.
The idea is described in #16843 (closed) and implemented for some monads in !1502 (closed)
Since SimplM already has a MonadIO instance it seems like a safe bet that we should rather use that for generating uniques. Rather than carry an supply around.
I will write up a patch.