How to use `precondprep` with `Optim.jl`?

How do I use precondprep within Optim.jl to use a preconditioner that changes at each step? The results of the function seem to be ignored in my attempts. Example:

using Optim
res = optimize(x->(x[1]-1)^4 + x[2]^2, [2.;1.], Optim.ConjugateGradient(P=I, precondprep = (P,x)->[1;2;3]))

In this example my callback function precondprep even returns a vector of the wrong dimension (rather than a matrix as it should), but nothing breaks; it seems that the return value is ignored.

I can’t understand much from the documentation, unfortunately.

Thanks in advance!