I'm blind, turns out Matrix3x3 had a multiplyScalar function that returns a NEW Matrix3x3 for some reason? Seems unnecessary.