Adding the cached version of Rotate back again...

The cached version of Rotate is faster in the C version, but not the C++ version. Huh.