improve toxic argument handling (again)

This makes it easier for individual functions to handle an arbitrary number of arguments. It also fixes a segfault caused by unmatched quotation marks.