function SpringUtils.toLinearIfNeeded(R)if typeof(R)=="\067\111\108\111\114\051"then return LinearValue.new(Color3.new,{R.r,R.g,R.b})elseif typeof(R)=="\085\068\105\109\050"then return LinearValue.new(UDim2.new,{R.x.scale,R.x.offset;R.y.scale,R.y.offset})elseif typeof(R)=="\085\068\105\109"then return LinearValue.new(UDim.new,{R.scale,R.offset})else return R end end
--[=[
	Converts an arbitrary value to a LinearValue if Roblox has not defined this value
	for multiplication and addition.

	@param value T
	@return LinearValue<T> | T
]=]
function SpringUtils.toLinearIfNeeded(value)
	if typeof(value) == "Color3" then
		return LinearValue.new(Color3.new, { value.r, value.g, value.b })
	elseif typeof(value) == "UDim2" then
		return LinearValue.new(UDim2.new, { value.x.scale, value.x.offset, value.y.scale, value.y.offset })
	elseif typeof(value) == "UDim" then
		return LinearValue.new(UDim.new, { value.scale, value.offset })
	else
		return value
	end
end
