fix #566: vararg_callback(): consume one less element