Verilog: Declaring each port (or argument) once

(…or why the Verilog-emacs AUTOARG is redundant) In Verilog, I never understood why port declarations appear both in the module declaration, and then immediately afterwards, along with the wires and registers. I mean, if the ports in the module declaration are always deducible from what follows immediately, why is the language forcing me to write [...]