Actually package_instantiate_object accepts either the "var_list" list-of-lists or the "extra_args" ns_set (which Ben added). I never talked to Ben as to why he thought the ns_set variant was easier to work with, I intend (as time permits) to munge things to use the var-list approach as it really is easier to deal with and one can always lappend to it, can pass it around from proc to proc, etc.
Very cool - this will even make a lot of -postgresql.xql and -oracle.xql files obsolete.
And thanks to your posting I now know that 'package' stands for pl/sql packages in this case - I always thought about openacs packages and was confused. Wouldn't it be less confusing if it was just part of db-procs.tcl and called something like db_plsql (since db_exec_plsql is already taken)?