code: public T visitNaryExpression(NaryExpression elm, C context) {
          if (elm instanceof Coalesce) return visitCoalesce((Coalesce)elm, context);
          else if (elm instanceof Concatenate) return visitConcatenate((Concatenate)elm, context);
          else if (elm instanceof Except) return visitExcept((Except)elm, context);
          else if (elm instanceof Intersect) return visitIntersect((Intersect)elm, context);
          else if (elm instanceof Union) return visitUnion((Union)elm, context);
          else return null;
      }
docs: Visit a NaryExpression. This method will be called for
  every node in the tree that is a NaryExpression.
  
  @param elm     the ELM tree
  @param context the context passed to the visitor
  @return the visitor result