"actually, you can still multiply in one line. You just have to multiply a matrix with a vector:..."

D'oh! I'm surprised that I didn't try that - tho it doesn't seem as intuitive ("vector = some other *vector*, being modified by some operations" vs. "vector = a *matrix*, imposing/operating on some vector", etc.)... do you know why the Vector lost so many direct operators (* other Vector (Dot()), * Matrix, % other Vector (Cross()) - there may be others)?

Apparently, you can still '!v' to normalize it (yay), even tho there's a v.Normalize() call... and I can understand why the "Identity Matrix" operator might have changed from '!' to '~'... some of the other changes just seem a bit arbitrary.

I've already made all the changes at this point, but thanks for the tip/reply - I'll keep that in mind for future reference.

Cheers.