I don't believe this is a good point. The provided snippet is alright as is but it is not possible to tell from it why rotate_right wouldn't get called shift times. Unless rotate_right goes into infinite recursion / loop or terminates the program (it means, never returns), it should work correctly.