allow passing given instances at arbitrary positions
the 4th criticism point in contextual abstraction in the documentation states:
The syntax of implicit parameters also has shortcomings. It starts with the position of implicit as a pseudo-modifier that applies to a whole parameter section instead of a single parameter.
this is improved at the definition site. Yet, not at the usage site or rather only half way where it could be IMO.
Currently one has to pass given instances left to right. Skipping one can be achieved with a workaround, summoning an instance with the for instance but this is too much boilerplate IMO (especially if the type has a lot of type parameters). I would prefer something like given _ given MyInstance or maybe even given f=MyInstance in case of a named given clause or _2=MyInstance in case of an anonymous clause where _2 refers to the second given clause.
Thoughts?