How to pass a matrix free preconditioner to IterativeSolver of KrylovKit?

Only thing I would add is that some methods of IterativeSolvers.jl require you to also define the following in-place ldiv!:

LinearAlgebra.ldiv!(P::MyPreconditioner, X) = X.= P.fun(X) #or whatever solver you choose