
Edward Kmett wrote:
There may be some quibbling I'd take with the language though for the case where you have a package with classes and a package that has orphans for those classes for a package that was too burdensome to add as a dependency for the base package, both under the control of the same maintainer. (Mutatis mutandis for data types)
An example would be vector-instances. As I control both it, and most of the packages it makes orphans for, I'm simply constraining myself from not releasing versions of those packages with conflicting instances unless I bump them out of bounds.
I'd like to find a way to spell this out in clearer PVP'ese, but it is the way in which I'm most likely to be PVP non-compliant in the future.
Would it help to make an exception for "standards-track" libraries like vector? In that case, orphan instances are expected to be only temporarily orphan. Hopefully, they will all eventually make their way to their permanent homes. Thanks, Yitz