As a developer, it is too hard to not write redundant code with GetPropertyChangedSignal.
With GetPropertyChangedSignal, there aren’t very many scenarios where you wouldn’t want to know what the property actually changed to. For example, if I want to write code that does something when the player’s team changes, I have to write it like this.
LocalPlayer:GetPropertyChangedSignal("Team"):Connect(function() local team = LocalPlayer.Team --code end)
I’d much rather simplify this to be…
LocalPlayer:GetPropertyChangedSignal("Team"):Connect(function(team) --code end)