I see void being passed as a parameter list to main in a lot of examples. All of the things I've read suggest that the only difference between having a void parameter list and an empty parameter list is in function declarations, and that the two are equivalent in function definitions. Why is it used so frequently in the main function definition, if it serves no purpose?