public Direction <TAlgebraicNumber> Normalize()
        {
            var length =
                _calculator.SquareRoot(
                    _calculator.Add(
                        _calculator.Multiply(X, X),
                        _calculator.Multiply(Y, Y)));

            return(new Direction <TAlgebraicNumber>(
                       _calculator,
                       _calculator.Divide(X, length),
                       _calculator.Divide(Y, length)));
        }