When a USE dependency conflict occurs, backtracking is risky, and if --autounmask is enabled then it can create spurious package.mask or keyword changes as reported in bug 667132. I think a reasonable approach would be to disable backtracking by default when a USE dependency conflict is detected, and add a new --use-conflict-backtrack=<y|n> option which can be used to force it to continue backtracking (similar to the --autounmask-backtrack=<y|n> option). The documentation can advise people that if --use-conflict-backtrack=y is used with --autounmask, then the --autounmask-keep-masks=y and --autounmask-keep-keywords=y options are also recommended in order to prevent spurious package.mask and keywords adjustments.