If you're implementing GraphQL on the backend or querying a GraphQL API for data on the frontend of a reactive single-page application, what's your overall impression of it?Has the extra complexity been worth it over building a RESTful or RESTless (e.g. RPC) API?The strong typing on the client and server, well-defined protocol with introspection built-in, and flexibility of the query language seem like a boon for quick frontend development.However, it seems to come with some complexities - reworking middleware into something compatible with resolvers (authentication, rate limiting, etc.), concerns about queries being used in ways you don't expect (N+1 problems, solvable via data loaders or query complexity limits), and common methods for viewing metrics (e.g. tracking stats by URI, status code, and verb) need to be reconsidered.How's it working out for you?