いけがみです。

もう少しわかりやすい(?)説明が
  A gentle introduction to Haskell 
にありました。

http://www.haskell.org/tutorial/pitfalls.html#sect12.3
http://www.sampou.org/haskell/tutorial-j/pitfalls.html#sect12.3

なお ghci に次のオプションを渡すと、型宣言なしでも通ります:
  -fno-monomorphism-restriction

  % cat foo.hs
  module Foo where
  elem' = elem
  % ghci
  ...(前略)...
  Prelude> :l foo
  Compiling Foo             ( foo.hs, interpreted )

  foo.hs:1:
    Ambiguous type variable `a' in the top-level constraint:
      `Eq a' arising from use of `elem' at foo.hs:2
    Possible cause: the monomorphism restriction applied to the following:
      elem' :: a -> [a] -> Bool (bound at foo.hs:2)
    Probable fix: give these definition(s) an explicit type signature
  Failed, modules loaded: none.
  Prelude> :set -fno-monomorphism-restriction
  Prelude> :l foo
  Compiling Foo             ( foo.hs, interpreted )
  Ok, modules loaded: Foo.
  *Foo> :t elem'
  elem' :: forall a. (Eq a) => a -> [a] -> Bool

--
ML: haskell-jp / quickml.com
使い方: http://QuickML.com/