anchor.diff:           ActionArg args = 0;
            //TableEntry entry = TableEntry {field: fields, argument: args};
            $display("add entry ", fshow(fields));
  -         match_table.add_entry.put(tuple2(fields, args));
  +         match_table.add_entry.put(tuple2(pack(fields), pack(args)));
         endmethod
         method Action delete_entry(Bit#(32) name, Bit#(8) id);
            $display("delete entry flow id ", fshow(id));
  
positive.code: 
     let verbose = True;
  
     MatchTable#(DepthSz, MatchField, ActionArg) match_table <- mkMatchTable();
  
     //rule read_flow_id;
     //   let v <- toGet(match_table.entry_added).get;
  
negative.code:       endmethod
        method Action modify_entry(Bit#(32) name, Bit#(8) id, ActionArg args);
           $display("modify entry flow id ", fshow(id), " action ", fshow(args));
           match_table.modify_entry.put(tuple2(id, pack(args)));
        endmethod
        method Action lookup_entry(MatchField field);
           match_table.lookupPort.request.put(pack(field));
        endmethod
        //method Action readMatchTableCntrs();
        //   let v = match_table.dbg();
  