restart;kernelopts(version);This one works as expected:solve({x + y = 5, x - y = 3});This one fails:solve({x(0) + y(0) = 5, x(0) - y(0) = 3});That shouldn't fail. According to ?solve,details, under the Descriptionheading, it says that the unknowns may be a name or a function. Note thattype(x(0), function);so there seems to be a contradiction. Nevertheless, there is a workaround:solve({x(0) + y(0) = 5, x(0) - y(0) = 3}, {x(0), y(0)});infolevel[fsolve]:=3;Now try with fsolve(). This one works as expected:fsolve({x + y = 5, x - y = 3});This one fails:fsolve([x(0) + y(0) = 5, x(0) - y(0) = 3]);But the previous workaround does not help:fsolve([x(0) + y(0) = 5, x(0) - y(0) = 3], {x(0), y(0)});frontend(fsolve,[{x(0)+y(0)=5,x(0)-y(0)=3},{x(0),y(0)}],[{`+`,`*`,`=`,'set'},{}]);I can temporarily rename the variables to plain symbols, or perhapsfreeze/thaw them. But is there a simpler workaround?