Changes to ghc(4)

Changes to ghc:
commit 50bfd4219157473fac47c70993fc2023a162a7f3
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Tue Apr 8 17:37:45 2014 +0100

    Improve error reporting for untouchable type variables

    This change adds a suggestion
        Possible fix: add a type signature for ‘f’
    when we have a GADT-style definition with a
    type we can't figure out.

    See Note [Suggest adding a type signature] in TcErrors.

    This initially came up in the discussion of Trac #8968.

commit cc3ccf9f47c7f4684cdd2b08d0e2acf50b69bc18
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Tue Apr 8 16:28:56 2014 +0100

    Test Trac #8963

commit 2c516c4f1908f4c332df3c08c44a354bd2d832b3
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Tue Apr 8 16:28:31 2014 +0100

    Refactor in worker/wrapper generation

    I don't think there should be any change in behaviour, but
    the code is clearer now.  Function checkSize is elimiated
    in favour of doing those checks before (rather than after)
    splitFun/splitThunk.

commit 848f595266268f578480ceb4ab1ce4938611c97e
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Tue Apr 8 16:20:11 2014 +0100

    Allow a longer demand signature than arity

    See Note [Demand analysis for trivial right-hand sides] in DmdAnal.
    This allows a function with arity 2 to have a DmdSig with 3 args;
    which in turn had a knock-on effect, which showed up in the test for
    Trac #8963.

    In fact it seems entirely reasonable, so this patch removes the
    WARN and CoreLint checks that were complaining.