When flattening, try reducing type-family applications eagerly
This short-cut can improve performance quite a bit, by short-circuiting the process of creating a fresh constraint and binding for each reduction. See Note [Reduce type family applications eagerly] in TcFlatten To do this I had to generalise the inert_flat_cache a bit, so that the rhs is not necessarily a type variable; but nothing fundamental.
Showing
Please register or sign in to comment