I'm wondering if this might make sense in a module like `Language::Haskell` like in `Library/Homebrew/language/python.rb` and all these could be class methods such as e.g. `Language::Haskell::Cabal.init` or something. Thoughts? Sorry for the back and forth here; it's just these type of API additions require quite a bit of thought before inclusion because we want to avoid moving them around too much after inclusion.