Changes to ghc(2)

Changes to ghc:
commit 5dd1cbbfc0a19e92d7eeff6f328abc7558992fd6
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).

commit 47f473b0f7ddf21b2cde825166d092cb6e72329d
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.