• this is OUT:
    {{n, n, n, n},
    {f1[n], f2[n], f3[n], f4[n]},
    {f1[f1[n]], f2[f2[n]], f3[f3[n]], f4[f4[n]]},
    {f1[f1[f1[n]]], f2[f2[f2[n]]], f3[f3[f3[n]]], f4[f4[f4[n]]]}}
• at the 3rd step I want to get 16 outputs:
    {f1 [f1 [n]], f1 [f2 [n]], f1 [f3 [n]], f1 [f4 [n]]},
    {f2 [f1 [n]], f2 [f2 [n]], f2 [f3 [n]], f2 [f4 [n]]},
    {f3 [f1 [n]], f3 [f2 [n]], f3 [f3 [n]], f3 [f4 [n]]},
    {f4 [f1 [n]], f4 [f2 [n]], f4 [f3 [n]], f4 [f4 [n]]},
• and, at the 4th step, 64 outputs, if possible ...