docs: public HeadedSyntacticCategory addArgument(HeadedSyntacticCategory argument, Direction direction,
        int rootVarNum) {
      SyntacticCategory newCategory = syntacticCategory.addArgument(argument.getSyntax(), direction);
      int[] newSemantics = Ints.concat(semanticVariables, new int[] { rootVarNum },
          argument.semanticVariables);
      int newRoot = semanticVariables.length;
      return new HeadedSyntacticCategory(newCategory, newSemantics, newRoot);
    }