This again depends on the protocol. Since GraphQL is based on an object model, it's pretty uncontroversial how to find the classes. E.g. a Scheme API would have an Implementation class, a SRFI class, a Report class for RnRS (or a combined Document class into which both SRFI and RnRS fit). A Package class for libraries in package managers like Akku, etc.

...

It's definitely nice if clients can share code, but there are times when code sharing gets in the way (by slowing down development, or if the clients need almost the same thing but with some variations, and the variation makes communication slow or code complex). I think the best way to do this is that people start writing the clients, and then they discover what makes the most sense. They can always be refactored later.

I failed to convey my points - hard enough in a foreign tongue and with not more context than plain ASCII ;) We'll just leave it open until concrete issues and questions come up.

The one thing that honestly frightens me a bit is the reliance on this one technical thing as the magic sauce to clarify all open questions. But again it's hard to discuss that up front as vague concerns, so let's focus on concrete steps.