That's the trick, right? Building just the features you need while keeping it minimal. Alas, that lightweight feature set is going to be different for most people. I'd like an approach of several different libraries where you can easily bring your own. Relay is certainly not it and I haven't played with Apollo much to comment.
Actually you are right; priorities change for everyone. But to run with GraphQL main requirements were "build query and send to the server". And I created this library does it. But writing queries were problem and wasn't DRY enough, and I added fragment collecting feature which feels another requirement. Auto-declaration is also a feature to make it DRY. And I stopped adding features not to make it fat, but you can create a tool with caching, merging, etc. that uses graphql.js. I try to make it as lean as it can be.