balloon_alert("over here!")
...is guaranteed to be wrong, and needs to be called like:
balloon_alert(viewer, "over here!")
The compiler does not allow us to easily warn for this, so we have to put it in a separate linting suite that does not run on compile, and which we have recently learned hasn't worked for a bit (our own issues).
I would like if, at the base level of the proc, you could specify which arguments are required in order to compile. For example:
/atom/proc/balloon_alert(mob/viewer!, message!)
These would then be used just as viewer and message.
I mention base proc since subprocs can specify different arguments, and I figure only allowing it on base is reasonable.