> Currently AST declarations, their relate utilities, and `Outputable`
> instances are defined in the same files.
> Does anyone object to moving `Outputable` instances to separate files?
> The purpose is to gradually identify reusable functionalities, group them
> together, polish them (e.g., remove some unnecessary dependencies), and
> expose them to the end-users.
> At this stage, I don't expect any changes outside hsSyn.
Sounds reasonable to me.