EllipticalArc::pointAndDerivatives() returns too many derivatives

The documentation for pointAndDerivatives(t, n) clearly states the return value is a vector of at most n+1 elements:

    /** @brief Evaluate the curve and its derivatives.
     * This will return a vector that contains the value of the curve and the specified number
     * of derivatives. However, the returned vector might contain less elements than specified
     * if some derivatives do not exist.
     * @param t Time value
     * @param n The number of derivatives to compute
     * @return Vector of at most \f$n+1\f$ elements of the form \f$[\mathbf{C}(t),
        \mathbf{C}'(t), \mathbf{C}''(t), \ldots]\f$ */
    virtual std::vector<Point> pointAndDerivatives(Coord t, unsigned n) const = 0;

Yet this example program shows it returning a vector that is too big:

#include <iostream>
#include <2geom/elliptical-arc.h>

int main()
{
    auto arc = Geom::EllipticalArc({0, 0}, {1, 1}, M_PI, true, true, {1, 0});
    
    for (int n = 0; n < 10; n++) {
        std::cout << n << ' ' << arc.pointAndDerivatives(0.5, n).size() << '\n';
    }
}

In the output below, we should have (second number) <= (first number) + 1:

0 2
1 4
2 6
3 4
4 5
5 6
6 7
7 8
8 9
9 10

However that fails for n = 0, 1, 2.