I can't be certain, but haskell-ghc-supported-extensions1 and haskell-ghc-supported-options2 are likely useless, when you try unfold them it brings a huge list. I can't imagine the case when it needed to extend these lists, or remove/modify items. In both cases values are fetched by invoking shell commands (ghc --show-options and ghc --supported-extensions). I think it's better to modify these options to variables.