Hi I have run into some problem on parameter types but luckily I got it solved. Here I want to ask about how to actively avoid similar issues

```
@ti.func
def distance(x0, y0, x1, y1, x2, y2):
dist = ((x2-x1)**2+(y2-y1)**2)**0.5
res = ((x2-x0)*(y1-y0)-(y2-y0)*(x1-x0))/dist
return res
@ti.kernel
dist = distance(0,2,3,4,5,6)
```

In this function why shouldn’t I use `ti.sqr`

& `ti.sqrt`

?

I suppose the `ti.sqr`

should work on Taichi variables, and can 0, 2, … be viewed as `ti.var`

or some Expression in intermediate representation?