Make the representation of ScaleFactor generic