I would argue that this one needs to be reverted.  It is not intuitive for the user for `CreateScale(ref Vector3 scales, out Matrix result)` to be potentially slower than `CreateScale(float xScale, float yScale, float zScale, out Matrix result)`.