¿Por qué molestarse con la lista de dependencias en CommonJS require.ensure ()?

De la documentación de Webpack (https://webpack.github.io/docs/api-in-modules.html#require-ensure):

Descargue dependencias adicionales bajo demanda. La matriz de dependencias enumera los módulos que deberían estar disponibles. Cuando lo son, se llama la devolución de llamada. Si la devolución de llamada es una expresión de función, las dependencias en esa parte de origen se extraen y también se cargan a pedido. Se dispara una única solicitud al servidor, excepto si todos los módulos ya están disponibles.

Si las dependencias en la parte fuente también se extraen y cargan a pedido, ¿por qué molestarse en poner algo en la lista de dependencias?

He visto ejemplos como este que son muy confusos (https://github.com/webpack/webpack/tree/master/examples/extra-async-chunk):

require.ensure(["./a"], function(require) {
    require("./b");
    require("./d");
});

"b" y "d" no están en la lista de dependencias, pero se cargarán a pedido al igual que "a". Entonces, ¿cuál es la diferencia?

Respuestas a la pregunta(3)

Su respuesta a la pregunta