Changes to ghc(5)

Changes to ghc:
commit 525db2ab17665330c353891cc33a9598296a8ef3
Author: Austin Seipp <austin@well-typed.com>
Date:   Tue Feb 18 05:20:25 2014 -0600

    Revert "Fix #8754 in a round-about way."

    This reverts commit 5023c91780e90947680fe0640f7564a4f6448bea.

    (cherry picked from commit e789a4f51b6205160a696e3e6e13ecefb5ae16f7)

commit d1699f9a6c1bfc4930f61d27302985196020f909
Author: Austin Seipp <austin@well-typed.com>
Date:   Tue Feb 18 05:20:15 2014 -0600

    Revert "Add comments explaining #8754"

    This reverts commit b626c3d4ce0e66216705ba8355c914dc809e3fe7.

    (cherry picked from commit 642bba349fda1508aa136f7169c0ba63fb00a6f9)

commit 298dbfa59759aa4dbeea274534b6c68a813e3373
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Tue Feb 18 08:37:21 2014 +0000

    Use NoGen plan for unboxed-tuple bindings

    There was a small mixup here, exposed by Trac #8762.
    Now clarified with better function names and comments.

    (cherry picked from commit 47f473b0f7ddf21b2cde825166d092cb6e72329d)

commit a455437980c6f6a96190ac97b7757f4399376f63
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Tue Feb 18 08:46:14 2014 +0000

    Allow ($) to return an unlifted type (Trac #8739)

    Since ($) simply returns its result, via a tail call, it can
    perfectly well have an unlifted result type; e.g.
        foo $ True    where  foo :: Bool -> Int#
    should be perfectly fine.

    This used to work in GHC 7.2, but caused a Lint failure.  This patch
    makes it work again (which involved removing code in TcExpr), but fixing
    the Lint failure meant I had to make ($) into a wired-in Id.  Which
    is not hard to do (in MkId).

    (cherry picked from commit 5dd1cbbfc0a19e92d7eeff6f328abc7558992fd6)

commit 91829577019cf66a79dd54c0f6e9b87d1d9edc81
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Tue Feb 18 11:07:36 2014 +0000

    Keep kind-inconsistent Given type equalities (fixes Trac #8705)

    I was too eager when fixing Trac #8566, and dropped too many
    equalities on the floor, thereby causing Trac #8705.

    The fix is easy: delete code.  Lots of new comments!

    (cherry picked from commit 89d2c048c81020a701ac94d949b4d6f1ced37cfa)