Implement variadic arguments (fixes #1985).
Support union variadic arguments and add tests.