This was brought up in Slack (primarily by @f-f), and I think it's something we should discuss.
- The whole compiler is a very large dependency if we want to encourage external tooling that might only depend on a relatively small part (eg. parsing, corefn).
- We would like to keep the maintenance burden as equivalent to the status quo as possible (changes frequently require updating all parts of the compiler, publishing to hackage).
- What packages would we split out? What would that structure look like internally? What internal tooling would need to change or be updated to support the workflow?