internal static UInt64 RotateRight(this UInt64 i, int distance)
        {
            const int size = sizeof(UInt64) * 8;

            ThrowOnInvalidArgument(distance, size);
            return(i.RotateRight_NoChecks(distance));
        }