In my application I often have a bunch of functions that I need to evaluate on many arguments (i.e. each combination of function and argument).

I thought of extending the `Base.map`

function as follows:

```
function Base.map(F::AbstractArray{Function}, A::AbstractArray)
[[f(a) for f in F] for a in A]
end
```

Although this produces the correct output, it is about 10 times slower than expected. On the other hand, the following

```
function Base.map(F::AbstractArray{Function}, A::AbstractArray)
[Base.map(f, A) for f in F]
end
```

is as fast as it should be, but it does not have the desired output format (for my use).

- is the above extension of
`Base.map`

duplicating some existing function in julia? - how do I perform the computation in roughly the same time, while obtaining the desired output format?