[[int (int, b, ...)], [type function (int, b, ...) returning int]],
[[int (a, int, ...)], [type function (a, int, ...) returning int]])
+SIMPLE_DECLS(
+ [[[int f(int (*)[])]],
+ [declare f as function (pointer to array of int) returning int]],
+ [[[int f(int (*)[][1])]],
+ [declare f as function (pointer to array of array 1 of int) returning int]],
+ [[[int f(int (*)())]],
+ [declare f as function (pointer to function returning int) returning int]],
+ [[[int f(a (*)[])]],
+ [declare f as function (pointer to array of a) returning int]],
+ [[[int f(a (*)[][1])]],
+ [declare f as function (pointer to array of array 1 of a) returning int]],
+ [[[int f(a (*)())]],
+ [declare f as function (pointer to function returning a) returning int]],
+ [[[int (int (*)[])]],
+ [type function (pointer to array of int) returning int]],
+ [[[int (int (*)[][1])]],
+ [type function (pointer to array of array 1 of int) returning int]],
+ [[[int (int (*)())]],
+ [type function (pointer to function returning int) returning int]],
+ [[[int (a (*)[])]],
+ [type function (pointer to array of a) returning int]],
+ [[[int (a (*)[][1])]],
+ [type function (pointer to array of array 1 of a) returning int]],
+ [[[int (a (*)())]],
+ [type function (pointer to function returning a) returning int]])
+
+SIMPLE_DECLS_EXPLAIN(
+ [[[int f(int ([]))]],
+ [declare f as function (array of int) returning int],
+ [[int f(int [])]]],
+ [[[int f(a ([]))]],
+ [declare f as function (array of a) returning int],
+ [[int f(a [])]]],
+ [[[int f(int (()))]],
+ [declare f as function (function returning int) returning int],
+ [[int f(int ())]]],
+ [[[int f(a (()))]],
+ [declare f as function (function returning a) returning int],
+ [[int f(a ())]]],
+ [[[int (int ([]))]],
+ [type function (array of int) returning int],
+ [[int (int [])]]],
+ [[[int (a ([]))]],
+ [type function (array of a) returning int],
+ [[int (a [])]]],
+ [[[int (int (()))]],
+ [type function (function returning int) returning int],
+ [[int (int ())]]],
+ [[[int (a (()))]],
+ [type function (function returning a) returning int],
+ [[int (a ())]]])
+
SIMPLE_DECLS_EXPLAIN(
[[int ((int))], [type function (int) returning int], [int (int)]],
[[int (x(int))], [declare x as function (int) returning int], [int x(int)]],