
On Tue, Sep 11, 2012 at 02:11:36PM -0400, Edward Kmett wrote:
I often add instances for my own classes to my own types, and the need for a major version bump can ripple through 20+ packages and then out into 3rd party packages.
If you're adding the instance at the same time as adding either the type or the class, then a major bump shouldn't be needed. However, if you often find that you need to add an instance for an existing class+type, then isn't it plausible that the authors of these 3rd party packages would find they need the instances first, so add orphan instances? In which case they would break if you add the instance without bumping the major version. A "no orphan instance" rule could work, but note that not only could you not use orphan instances yourself, but you also couldn't use any packages that contain orphan instances. I think that to make that work in practice we'd have to make orphan instances an error, unless either the type or the class is in the current package. Thanks Ian