I\'m helping a friend learn Haskell and he recently created code like this, which type checks and produces a CPU-burning loop at runtime. I\'m completely baffled by this.
Control.Applicative imports Control.Monad.Instances, and therefore re-exports the instances from Control.Monad.Instances. This includes Functor and Monad instances for ((->) r).