• Ben Gamari's avatar
    Ensure that coreView/tcView are able to inline · 2d4f9ad8
    Ben Gamari authored
    Previously an import cycle between Type and TyCoRep meant that several
    functions in TyCoRep ended up SOURCE import coreView. This is quite
    unfortunate as coreView is intended to be fused into a larger pattern
    match and not incur an extra call.
    Fix this with a bit of restructuring:
     * Move the functions in `TyCoRep` which depend upon things in `Type`
       into `Type`
     * Fold contents of `Kind` into `Type` and turn `Kind` into a simple
       wrapper re-exporting kind-ish things from `Type`
     * Clean up the redundant imports that popped up as a result
    Closes #17441.
    Metric Decrease:
TcTyClsDecls.hs 185 KB