User blog comment:MilkyWay90/Generalized Factorial Function/@comment-35392788-20180517135333

Branching off Fejfo's answer, you could even think about generalizing it to any number of arguments, in the same manner as Taro's multivariable Ackermann function. Heck, you could even make an entire array notation out of it. Go crazy.

I find it awesome that you can just plug any function and diagonalize over it with this.

Now, some answers to your questions :

How can I extend it to more arguments/parameters? I actually answered this before, but generalizing such a notation is most likely done inductively : have a base case, for example F(X, !, X) = 1, where X is a possibly empty string of '1's, and then some recursion rules that will eventually collapse down to the base case.

What is the growth rate of this function? We can't answer this like that, because you can use any function, and diagonalizing over the Ackermann Function is not the same thing as diagonalizing over the 2-argument Busy Beaver function. But if you're asking about a function like A(n, !), then I think it would reach somewhere around f_w or maybe just maybe f_w+1. Also, if you define it properly, then I think A(!, n) can grow much faster because the first argument of the Ackermann function is the real deal.

Has this been discovered before? Most likely not.

Is this even a valid function (Because in a function F(x, !), ! isn't a fixed number, but is based on what you put in for x)? It's not a valid function by itself, mostly because it can be used on any 2-argument function. But you can consider it as a notation (of which you could define the rules more generally, *wink*).