Being a Lisp it’s possible to discover much about your program dynamically.
EmacsLisp is particularly open to investigation.
Function objects can be queryed for certain information
(symbol-function 'somefuncname)
⇒ the function object(help-function-arglist 'somefunc)
⇒ the function arguments, as used by Help(documentation 'somefunc)
⇒ the function documentation‘find-function’
finds a function definition and moves to it: (find-function 'somefunc)
‘symbol-file’
finds the file a function definition is in: (symbol-file 'somefunc)