Fix loop in the interface representation of some `Unfolding` fields
This is a delta on top of !9160 (closed).
This small patch adds some documentation around the new UnfoldingCache field. But most important it does two things:
-
In GHC.Core.Unfold.Make.mkCoreUnfolding we we accidentally forcing the wrong values, which led to duplicate work.
-
In GHC.Core.Unfold.callSiteInline we were forcing UnfoldingCache which caused unnecessary work.