I agree that given ... with ... as
is the best of the proposed variants.
However I think that the witness ... given ... of
form would be superior if one could find an alternative word to witness
that would work for both typeclasses and context-passing.
The main reason is that a solid noun reads better when defining instances. The combination witness ... with ... of
could in that case also be considered.
Btw I’m happy that this discussion continues. I agree it’s important to get it right and as such I think all possibilties should be explored and all aspects analysed before deciding that “this is as good as it gets”.