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