The grafting mechanism has a shortcoming: it is not recursive. Suppose we use ‘replace’ to provide a patch libpng. If a package has a direct dependency on libpng, it is appropriately grafted to refer to the new libpng. However, if a package depends on libfoo, which in turn depends on libpng, then that package will keep referring to the old libfoo, which refers to the old libpng.
Ludo’.