Changes to ghc(8)

Changes to ghc:
commit 5c7ced0fd1bb67cadf9a7e5be112701bfcb4631b
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Mon Mar 24 08:27:20 2014 +0000

    Comments only

commit a8b7b28cdb98d14c6fb43d5ad3293fd4a5c1f8b4
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Fri Mar 21 15:55:39 2014 +0000

    Implicit parameters should not be allowed in class and instance declarations

    Trac #8912 pointed out that GHC 7.4 and 7.6 have omitted this test, although
    7.2 and earlier had it.  This patch puts the test back in, and refactors a
    little.

commit 6ae678e31a5fdd3b0bd1f8613fe164012bb630f4
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Fri Mar 21 15:37:27 2014 +0000

    Flattener preserves synonyms, rewriteEvidence can drop buggy "optimisation"

    There was a special case in rewriteEvidence, looking like:
      = return (Just (if ctEvPred old_ev `tcEqType` new_pred
                      then old_ev
                      else old_ev { ctev_pred = new_pred }))

    But this was wrong: old_pred and new_pred might differ in the kind
    of a TyVar occurrence, in which case tcEqType would not notice,
    but we really, really want new_pred.  This caused Trac #8913.

    I solved this by dropping the whole test, and instead making
    the flattener preserve type synonyms. This was easy because
    TcEvidence has TcTyConAppCo which (unlike) Coercion, handles
    synonyms.

commit 9f9b10f65d09823c21bc19a79e14cf27cfe56ea5
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Fri Mar 21 15:33:10 2014 +0000

    Debug tracing only

commit c89c57e3b72a8f3de9f35e1bd6e0f70d2b18a941
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Fri Mar 21 15:32:58 2014 +0000

    For equalities with incompatible kinds, new IrredCan goes in the inert set, not work list

    This change makes the code for canIrred markedly simpler (and more efficient)
    See Note [Equalities with incompatible kinds].

    I don't think there was really a bug here, but I came across it when
    fixing Trac #8913

commit 5a51b6969132b7c31da21c24a063a993b98b51ed
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Fri Mar 21 15:26:11 2014 +0000

    Comments only

commit 3f5964770ac20790741638e23f798f0ff8e9e2da
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Fri Mar 21 15:25:30 2014 +0000

    Don't export isTcReflCo_maybe (unused)

commit 74894e0bc405247092e865b9541f5f18d26aa015
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Fri Mar 21 15:24:49 2014 +0000

    Add missing kind-check for tcEqType on forall-types

    This wasn't showing up as a bug, but it was definitely wrong.