anchor.diff:  typedef Bit#(32) ObjectPointer;
   typedef 40 ObjectOffsetSize;
   
  -
  +typedef 6 ObjectTagSize;
   typedef struct {
      Bit#(addrWidth) addr;
      Bit#(8) burstLen;
  -   Bit#(6) tag;
  +   Bit#(ObjectTagSize) tag;
      } MemRequest#(numeric type addrWidth) deriving (Bits);
   typedef struct {
      ObjectPointer pointer;
      Bit#(ObjectOffsetSize) offset;
      Bit#(8) burstLen;
  -   Bit#(6)  tag;
  +   Bit#(ObjectTagSize)  tag;
      } ObjectRequest deriving (Bits);
   typedef struct {
      Bit#(dsz) data;
  -   Bit#(6) tag;
  +   Bit#(ObjectTagSize) tag;
      } ObjectData#(numeric type dsz) deriving (Bits);
   typedef ObjectData#(dsz) MemData#(numeric type dsz);
   
  
positive.code: interface MemWriteClient#(numeric type asz, numeric type dsz);
     interface Get#(MemRequest#(asz))    writeReq;
     interface Get#(MemData#(dsz)) writeData;
     interface Put#(Bit#(6))       writeDone;
  endinterface
  
  interface MemReadServer#(numeric type asz, numeric type dsz);
  
negative.code: interface ObjectWriteServer#(numeric type dsz);
     interface Put#(ObjectRequest) writeReq;
     interface Put#(ObjectData#(dsz))     writeData;
     interface Get#(Bit#(ObjectTagSize))           writeDone;
  endinterface
  
  //
  