protected Object[] convertArgs(Varargs args) {
		Object[] a;
		if (varargs == null) {
			a = new Object[fixedargs.length];
			for (int i = 0; i < a.length; i++)
				a[i] = fixedargs[i].coerce(args.arg(i + 1));
		} else {
			int n = Math.max(fixedargs.length, args.narg());
			a = new Object[n];
			for (int i = 0; i < fixedargs.length; i++)
				a[i] = fixedargs[i].coerce(args.arg(i + 1));
			for (int i = fixedargs.length; i < n; i++)
				a[i] = varargs.coerce(args.arg(i + 1));
		}
		return a;
	}