Based on the feedback I got from here I have run some limited experiments and tried some alternative syntaxes. They can be summed up as follows:
- use
witnessinstead ofgivenin instance definitions: PR #7928 - use
defaultinstead ofgivenin instance definitions: PR #7941 - use
withinstead ofgivenfor parameters: PR #7973
The experiments reflect my belief that the semantics of the new contextual abstractions are sound and work well, but that there might still be room to make the syntax clearer.
Feedback on either the PRs or here is very welcome.