function Spring.new(n,R)local Y=n or 0 R=R or tick return setmetatable({_clock=R,_time0=R(),_position0=Y,_velocity0=0*Y,_target=Y;_damper=1,_speed=1},Spring)end

function Spring.new(initial, clock)
	local target = initial or 0
	clock = clock or tick
	return setmetatable({
		_clock = clock;
		_time0 = clock();
		_position0 = target;
		_velocity0 = 0*target;
		_target = target;
		_damper = 1;
		_speed = 1;
	}, Spring)
end
