We could wait, but I don't understand why we should.

The code is there, and could already be useful as is. Moreover, what you propose regarding the convergence with "nabla" is far from clear to me.

IIUC, "nabla" computes the derivative of a function, *without any additional input*. The Ridders algorithm however is an approximating procedure where you must specify a tolerance, an initial "delta" and a maximum number of function evaluations (just like for the solvers and optimizers algorithms).

For CM design consistency's sake (and ease of use), this algorithm must be introduced in a form that relates to the existing codes in CM, not in a form that one expects will conform to a future requirement from another library.

Later, we can always create adapters that will bridge the CM API to the "nabla" API (e.g. possibly passing the additional parameters needed by the "derivative" method of "RiddersFirstDerivative" in the constructor of the adapter class).

The provided code was buggy.

Since the proposed API is not satisfying, and this does not seem to be high priority, it's better to revisit this once the basic interfaces have been set up.