Trim compound closures into their components.
This is like
crushEffect, but for closures instead of effects.
For example, trimming
DeepUse (Int r2 -(Read r1 | Use r1)> Int r2) yields
r1 might contain an actual store object that is reachable from a function
closure with such a type.
This function assumes the closure is well-kinded, and may return
this is not the case.