anchor.diff:      Reg#(Bit#(TLog#(SIZE))) curr_size <- mkReg(0);
       Reg#(Bit#(1)) insert_in_progress <- mkReg(0);
       FIFO#(void) insert_res_fifo <- mkBypassFIFO;
  +    FIFO#(Node#(Bit#(size_t), Bit#(size_t))) insert_req_fifo <- mkSizedFIFO(4);
   
       rule insert (insert_in_progress == 1);
           let x <- toGet(priority_encoder.bin).get;
  
positive.code:         endcase
      endrule
  
      method ActionValue#(Node#(Bit#(size_t), Bit#(size_t))) first() if (curr_size > 0);
          return head(readVReg(sorted_list));
      endmethod
  
negative.code:             $display("(%d %d)", sorted_list[i].v, sorted_list[i].p);
      endmethod
  
      interface Put insert_req = toPut(insert_req_fifo);
      interface Get insert_res = toGet(insert_res_fifo);
  endmodule
  
  