Inlined rotateSingle* for performance reasons.