vec2d: refactoring complete (for now)