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.
Edited by Zubin