Stuck on keyfields syntax

I’ve inherited a project that’s setting an inmemorycache with the following key field syntax. None of the examples showcase this particular signature (that I can find at least). All the fields I see in the examples use multiple fields and are placed in the key field attribute. Is this looking for any nested “myField” attributes? How is this expected in the graphql data? (Apollo client 3.2)

const cache = new InMemoryCache({
  typePolicies: {
    Query: {
         /// query info
      },
    },
    UserData: {
      fields: {
        fieldA: {
          merge(existing = [], incoming = []) {
            return incoming;
          },
        },
        fieldB: {
          merge(existing = [], incoming = []) {
            return incoming;
          },
        },
      },
      keyFields: [["myField"]], // <-- What is this looking for?
    },    
  },
});

This leads to an invariant violation error:

Uncaught Invariant Violation: Missing field 'myField' while extracting keyFields from {"id":"462a349...... (does not contain myField)

I’m not sure it’s possible for keyFields to look like that. You could do something like ['fieldA', ['myField']] which would mean that fieldA.myField is a key field. But [['myField']] doesn’t make sense to me.

That would make two of us! Its super difficult because it does work, however since I inherited the project I have no idea why. If its helpful, I’ve forced the data to contain a myField but still getting that error.