/proc/announcethethings(...)
for (var/thing in global.things)
var/datum/thing/T = thing
T.announce(arglist(args))
/proc/meanwhile_elsewhere()
announcethethings("Announcement", "thing here", "Hi")
The following is not:
/proc/announcethethings(...)
for (var/thing in global.things)
var/datum/thing/T = thing
T.announce(arglist(args))
/proc/meanwhile_elsewhere()
announcethethings(heading = "Announcement", title = "thing here", message = "Hi")
Now I don't know if the ... in the parameter section of the proc header actually means or does anything in byond, but it IS valid syntax, and it would be killer if it existing in a proc meant that unknown named args went thru, AND that arglist() used associated keys as named args (if it doesn't already)