It's important to note that a lot of C programmers don't really understand the C declaration syntax anyway. Most are familiar with the simple cases, very few are familiar with how to declare complex types.
I can barely read this: void (signal(int, void (fp)(int)))(int);
I can read this easily: func signal(int, func(int)) func(int)