you don't need the extra match here. can simply do

    conf.getKeyCols.foreach {
      case coumnDesc: ExprNodeColumnDesc => ...
      case genericFuncDesc: ExprNodeGenericFuncDesc => ....
    }