@Redwolf Let's say you have a command `X`, which means "recurse the current outmost function with the same number of arguments". Now, because you don't know if the current function takes 0, 1 or 2 arguments, you have to find out how many arguments `X` will take on the fly. However, in one example, rather than just have `X` in your main function body `f` (let's say `f` takes 1 argument), you've instead placed it inside a subfunction `g` which takes 2 arguments. Now, you'd expect `X` to recurse on `f` by its definition. However, because your dynamic parsing to determine the number of argument…