Apollo 3 introduced typePolicies and keyArgs as a way to tell the cache how to store data and avoid duplicate entries. This seems akin to the @connection directive, which provides similar functionality (specify a custom store key for results).
Is it necessary and safe to use both in an application? When would it make sense to choose one over the other?