docs: public List<HeadedSyntacticCategory> getArgumentTypes() { 
      List<HeadedSyntacticCategory> arguments = Lists.newArrayList();
      HeadedSyntacticCategory cat = this;
      while (!cat.isAtomic()) {
        arguments.add(cat.getArgumentType());
        cat = cat.getReturnType();
      }
      return arguments;
    }