### How to create a Sage directory of all functions?

Can one easily get the list of all defined functions in Sage to something like a directory including at least following information:

[

- function name
- allowed input argument numbers (possibly several)
- allowed input argument types for each allowed input argument
- function result values numbers (possibly several depending on input arguments)
- function result values types for each result value

,

]

so that for example one could easily construct an expression-set having all allowed functions in function argument places up to a given level?

For example:

Expression-set for 3 levels is something like:

[

sin(cos(x))

sin(sin(x))

sin(tan(x))

sin(x^a)

(x^a)^b

myfun(sin(k),cos(n))

etc.

];

(All combinations. Here only 3 levels given as an example. Here function myfun may have several return variables each can be a variable, vector, matrix, function name etc.)