Hi, the problem here isnt the parameter its the signature of the anonymous function. Basically, your function gets called with a single argument, not 2 arguments (x and y)
this should work roots( x -> f2d( (x[1],x[2]), p), X×X)
see also Home · IntervalRootFinding.jl