Make return type of `interpolate` more generic

The conversion to a `Vector2` type is moved to `add_vertex!`