code: func (s *Schema) Exec(ctx context.Context, queryString string, operationName string, variables map[string]interface{}) *Response {
  	if s.res == nil {
  		panic("schema created without resolver, can not exec")
  	}
  	return s.exec(ctx, queryString, operationName, variables, s.res)
  }
docs: // Exec executes the given query with the schema's resolver. It panics if the schema was created
  // without a resolver. If the context get cancelled, no further resolvers will be called and a
  // the context error will be returned as soon as possible (not immediately).