ghc 7.0.4 で動作していたコードを 7.4.1 で動作させようとしています。
Snap moand 内から IO にアクセスする古い方法は、タイプチェックを行わないように思えます。
ghc 7.0.4 では、文書化された IO へのアクセス方法がコンパイルされます。
a :: Snap ()
a = liftIO fireTheMissiles
http://hackage.haskell.org/packages/archive/snap-core/0.8.1/doc/html/Snap-Core.html
GHC 7.4.1 では、
No instance for (MonadIO Snap)
arising from a use of `liftIO'
Possible fix: add an instance declaration for (MonadIO Snap)
魅力的な回避策が何であるかに興味があります。