https://javascript.plainenglish.io/7-best-practices-to-design-cutting-edge-graphql-schemas-8ee53be2e601