Use Rules Iteratively

While ReplaceAll (/.) applies rules to an expression only once, ReplaceRepeated (//.) will continue to do so until the expression no longer changes.

    
You can also use ReplaceRepeated to undo "currying" of function arguments: