Move this vector towards the given towards the target by the given 
        extent.  The extent should be between 0 and 1.

def interpolate(self, target, extent):
        """ Move this vector towards the given towards the target by the given 
        extent.  The extent should be between 0 and 1. """
        target = cast_anything_to_vector(target)
        self += extent * (target - self)