¿Por qué Apollo Server no es un middleware para Express, en lugar de ser un servidor que acepta Express como middleware?

Me pregunto cuál es la razón de esta configuración aparentemente incómoda (de Comenzando con Apollo Server),

const server = new ApolloServer({
  // These will be defined for both new or existing servers
  typeDefs,
  resolvers,
});

server.applyMiddleware({ app }); // app is from an existing express app

¿Por qué estoy llamando a.applyMiddleware() y alimentándolo miapp en lugar de usarapp.use(), incluso parece de los documentos que Apollo solo responde solicitudes en/graphql ¿no sería mejor seguir la API Express de,

let apollo = require('apollo-server').ApolloMiddleware
app.use( '/graphql', apollo({ typeDefs, resolvers }) );

Parece que Apollo está invirtiendo el flujo de middleware normal de Express? ¿Cuál es la ventaja de hacerlo al estilo Apollo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta