Direction of rotation when using Quaternion.Slerp

Given two quaternions how can you find the direction(right or left)an object would rotate when using Quaternion.Slerp?

Store off the starting "right" direction (i.e. Vector3 oldRight = transform.right).

Apply the rotation. (i.e. transform.rotation = Quaternion.Slerp(a, b, t) );

Store the dot product of the new "forward" against the old "right". (i.e. float dotOfNewHeadingAgainstOldRight = Vector3.Dot( oldRight, transform.forward ); )

If the dotOfNewHeadingAgainstOldRight is above zero, it's going right. If it's below, it's going left. If it's zero, there's no change. If it's one, you turned 90 degrees right. If it's -1 you turned 90 degrees left.

However, if there's a chance you have actually turned more than 90 degrees, you might want to do a dot of the "newForward" against the "oldForward". If the dot is greater than one, you've turned less than 90 degrees. If the dot is less than zero, you've turned more than 90 degrees. You can use acos (or is it asin?) on the dot to then infer the yaw angle change.

And at that point you might just want to use http://unity3d.com/support/documentation/ScriptReference/Quaternion.FromToRotation.html FromToRotation(...).eulerAngles.yaw possibly?