Disclaimer - I'm a massive GraphQL-fan and been building APIs and React-apps with (in production) since 2016. All the criticism below are specifically to do with Hasura and not GraphQL itself.
i have an app that has a type of product listings where something like "price" is optional
but price consists of several fields (amount, currency [and more that are irrelevant for this point])
so in the db they all have to be nullable, which is fine, but they are always presented as a group
typically, as a consumer you'd want a nullable price: Price
but i end up having to write custom client logic that I thought I was done with since starting making backends in graphql 4-5 years ago