sortWith package:ghc
Dependency sort a STG program, and annotate it with free variables The
returned bindings: * Are in dependency order * Each StgRhsClosure is
correctly annotated (in its extension field) with the free variables
needed in the closure * Each StgCase is correctly annotated (in its
extension field) with the variables that must be saved across the case