Free vectors in 2D and 3D.
A vector has magnitude and direction and is unaffected by translation. See Direction for the unit-length variant, whose invariant the type system enforces, and Point for positions.
Direction
Point