# substitute function for an array of functions

Hello, I have an array of functions defined as

```
arr = [function("y%d" % i,x) for i in [0..(2)]]
```

I also have a function of function

```
def square(x):
return(x*x)
```

If I use substitute_function on the function of function it works.

```
temp(x)=sin(x)
square(arr[0]).substitute_function(y0,temp)
```

However, the following command does not work,

```
temp(x)=sin(x)
square(arr[0]).substitute_function(arr[0],temp)
```

The reason I think is that arr[0] has an argument by y0 does not. Is it possible to use substitute_function where the arguments have arguments?