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
witness
instead ofgiven
in instance definitions: PR #7928 - use
default
instead ofgiven
in instance definitions: PR #7941 - use
with
instead ofgiven
for 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.