Make a bunch of instances traits/classes private/sealed #612
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is related to #496, but it's a broader issue than just this change.
These instances traits/classes are used internally for code organization
and implicit prioritization, but they aren't really meant to be part of
the public API. Making them private/sealed may be helpful for binary
compatibility in the future. It also may be a helpful indicator to
newcomers which traits/classes are actually meant for consumption, so
they can ignore some of the noise.
So far, I have left the traits for orphans from
std
(such asStringInstances
), and I have left the omni-instance traits exposed.