in function declarations, what advantages are there to having the type of the parameter specified after the parameter name?
It's completely arbitrary.

In a given programming language, one would hope that the same convention is used throughout, so either int f(int x) or f(x: int): int but not int f(x: int) or f(int x): int; but even that is arbitrary.