It could useful to be able to change the query dependant on conditions and have the return type reflect this.
whenGql :: Boolean -> query -> Maybe res could be uses when queries are not always needed
ifGql :: Boolean -> queryLeft -> queryRight -> Either resLeft resRight when different queries are needed depending on an condition.
This would be useful if we refactor OA UI tables to use Hasura.
Low priority