in reply to
Are prototypes evil?
I have only started to work with prototypes somewhat myself, but my basic opinion (unless someone instructs me otherwise) is that they are not evil. While I can't recall for sure if they cause the engine to check to make sure the number and types of parameters passed are good, they do at least provide a convenient way to document the types and order of values to be passed, which at least would seem to me to help when someone is looking at a module written using them.
I look forward to the comments of others, though, on how they apply them, how effective they have been as a tool for others, or reasons to avoid them.