case Apply( _, Tree[] args ): return TreeInfo.methSymbol( pat ).hashCode() + args.hashCode();
case Apply( Tree fun, Tree[] args ): return pat.type().hashCode() + args.hashCode();
      public int hashCode() {            switch( this ) {            case DefaultLabel:                  return 0;            case SimpleLabel( Literal lit ):                  return lit.value.hashCode();            case TreeLabel( Tree pat ):		switch( pat ) {		    case Apply( _, Tree[] args ):			return TreeInfo.methSymbol( pat ).hashCode() + args.hashCode(); // incorrect?		}                  return pat.hashCode();            case TypeLabel( Type type ):                  return type.hashCode();            default:                  return super.hashCode();            }      }