# Change of programmation of implicit

In the former question "Calculus with formal functions: substitution?", one can obtain implicit differentiation by the following code

```
var('f,x,y')
y = function('y',x)
f = function('f',x,y)
f.diff(x)
```

which gives

D1(x, y(x))*D0(x) +D0(x, y(x))

But I use the last version ofg SageMath and I have the following error

TypeError: function() takes exactly 1 positional argument (2 given)

Is there some new way to handle this code ?