static O[] concatMethodArgs(O[] args1, O[] args2) {
  int n1, n2;
  if (args1 == null || (n1 = args1.length) == 0) ret args2;
  if (args2 == null || (n2 = args2.length) == 0) ret args1;
  
  // actual concat
  O[] args = new[n1+n2];
  for i to n1:
    args[i] = args1[i];
  for i to n2:
    args[n1+i] = args2[i];
  ret args;
}