Isn't self the *final* attribute set, after the changes made at the call site have been merged in? So if somebody uses the cabal builder and changes only propagatedBuildInputs, I think that would have an effect on propagatedUserEnvPkgs then too? (If I use `self.xxx`)