hsExprType :: HsExpr GhcTc -> Type
This is a less ambitious take on the same problem that !2182 (closed) and !3866
attempt to solve. Rather than have the hsExprType
function attempt to
efficiently compute the Type
of every subexpression in an HsExpr
, this
simply computes the overall Type
of a single HsExpr
.
This is currently marked as a draft because there is at least one case that
is known not to work: the case for HsTcBracketOut
, which I have no idea how
to implement. Other cases probably deserve further scrutiny as well.