docs: function(curve, location, distance) {
  
  		if (_isPoint(curve)) {
  			return {
  				point:curve[0],
  				location:location
  			};
  		}
  
  		var prev = _pointOnPath(curve, location),
  			tally = 0,
  			curLoc = location,
  			direction = distance > 0 ? 1 : -1,
  			cur = null;
  
  		while (tally < Math.abs(distance)) {
  			curLoc += (0.005 * direction);
  			cur = _pointOnPath(curve, curLoc);
  			tally += _dist(cur, prev);
  			prev = cur;
  		}
  		return {point:cur, location:curLoc};
  	}