I definitely agree with Richard that it is very important for all interfaces to be completely documented at the time that code is put in (indeed good practice is to write the documentation at the time the code is written!) Certainly minimally any new functions should be fully documented, including the exact semantics of each argument.