I think this is accurate on a larger scale, but I’ll often do things like breaking up a large chain of methods with an interim variable just for readability. A few lines of simple math is better than one line of bit shifting wizardry that does the same thing but doesn’t show the semantic meaning of the operation.