It's good code sanitation. It indeed allows the compiler to do better something it normally does (reorder statements and interleave them for speed), and it's worth remembering that the compiler does that _far_ better than do we. Also, for the humans reading the code, it marks the variable as one that the method should not alter. It makes more clear the distinction between state the method is allowed to mutate, and state that it should not.