Put another way: you can't safely compose Dockerfiles. If you want clean, narrow, special-purpose containers, you have two alternatives:
1. Build Dockerfiles for each use case precisely. This will lead to duplicated code and all the excitement thereof.
2. Build a giant shaky tower of Dockerfiles with FROMs, of which most are essentially 'abstract' Dockerfiles, not intended to be actually used. This will lead to documentation and all the excitement thereof.
Stackable filesystems are a triumph in some regards, but they create ugly backpressure on the design of libraries of Dockerfiles.
In this respect I see configuration management tools as vastly superior, as they generally have a concept of assembling goals and converging to them, rather than a concrete stacking logic.