Renamed Vector and CircleVector to StraightPath and CirclePath to be less confusing with the euclid stuff
Use local variables instead of giant mut at the beginning of the function
Use independant arguments
I've acknoledged there are approximate equality checks in euclid itself,
and I'm going to look into using them since I believe the ugly angle approximation
is probably handled better there, but for now this works!
I've just seen it too late :D