I bet there is quite a huge number of functions in GHC which don't have any actual uses. Util.transitiveClosure is such an example. We should delete them.
A full analysis would probably involve getting a tool like weeder (unlikely, it needs stack) or Unused to work for GHC.