Rather it should look like this:
int foo(x, y) int x; int y; { return x + y; }
foo(x, y) { return x + y; }
Rather it should look like this:
x and y would be assumed to be int in the absence of the type specifiers, so in this case they're optional.