title: Apollo Client cache typePolicies merges dfferent variables caches
body: <p>I have a page with list of products which I query by slug. And there are reviews for them.
  As for pagination I had to implement typePolicies which looks like that.</p>
  <pre><code>cache: new InMemoryCache({
              typePolicies: {
                  Query: {
                      fields: {
                          
                          getReviewsBySlug: {
                              keyArgs: false,
                              merge(existing = null, incoming) {
                                  if (!existing) return incoming;
                                  const reviews = [...existing.reviews, ...incoming.reviews];
                                  const uniqueReviews = uniqBy(reviews, (item) =&gt; item['__ref']);
                                  return {
                                      ...existing,
                                      reviews: uniqueReviews,
                                      hasMore: incoming.hasMore
                                  }
                              },
                          }
                      }
                  }
              }
          })
  </code></pre>
  <p>And I am doing the query in the following way.</p>
  <pre><code>const { data: dataComments, fetchMore } = useGetReviewsBySlugQuery({
      variables: {
        input: {
          slug,
          skip,
          take: TAKE,
        }
      },
    });
  </code></pre>
  <p>So the problem I am having. After I open one product and saw 5 reviews then I open another product with 3 reviews for the next one I would have 8 reviews.
  It merged them not depending on the slug I am using for querying . How can I address to the cache that slug variable should separate it</p>