I'm enough of a novice to not know the terminology, so I can't search the Web for the answer to this.

More than once, in programming, I've wanted to do something like this.

A and B are subroutines, c and d are functions. A and B each call a function multiple times inside them.

```
call A(c(x))
call A(d(x))
call B(c(x))
call B(d(x))

```

This structure doesn't work. I'm told that Fortran doesn't support aliasing of functions, at least in this context. (Most search results involving "aliasing" refer to aliasing variables rather than functions, which is why I haven't found an answer.)

So what structure can I use to do this without having to write multiple versions of A and B?