Non-unique/scoped fragment names

I’m currently working on an Apollo-React project. I’m having a hard time grasping why fragment names have to be unique when they are explicitly imported into query-defining literals?

I’ve been unable to find others who have run into the same concern. In our application, we’d like several User fragments for different parts of the app. Because these parts never interact directly (and are explicitly, specifically imported), we have a hard time seeing why we shouldn’t just be able to define multiple fragments named User? Documentation is lacking as to why this is the case. Furthermore, if fragments are global anyway, why is it necessary to import them explicitly when defining queries?

In other words. Why is this necessary:

const fragment = gql`
  fragment User on User {
    id
    name
  }
`;

const query = gql`
  query UserQuery {
    users {
      ...User
    }
  }
  ${fragment} <-- this
`;

…when I cannot do this:

const frag1 = gql`
  fragment User on User {
    id
    name
    age
  }
`;

const frag2 = gql`
  fragment User on User {
    id
    name
  }
`;

Any insight is much appreciated!