It can then also be convenient to have a special type/value Origin, which (while functionally identical to point(0, 0)) allows you to e.g. write vector = point - origin to clearly express your intent of turning a vector into a point.
-1 * origin is not meaningful, but point - origin is (while point + origin is not).