class UnitVector { val x: Decimal; val y: Decimal; init(direction: Vector) { require direction.x != 0.0 || direction.y != 0.0; val magnitude = direction.magnitude(); this { x: direction.x / magnitude, y: direction.y / magnitude }; } }