anchor.diff:  
   typedef struct {
      Bit#(busWidth) data;
  -   Bit#(2) code;
  +   Bit#(2) resp;
      Bit#(1) last;
      Bit#(idWidth) id;
   } Axi3ReadResponse#(type busWidth, type idWidth) deriving (Bits);
  
positive.code:    Bit#(4) len;
     Bit#(3) size; // assume matches bus width of Axi3Client
     Bit#(2) burst;  // drive with 2'b01
     Bit#(2) prot; // drive with 3'b000
     Bit#(3) cache; // drive with 4'b0011
     Bit#(idWidth) id;
  } Axi3ReadRequest#(type addrWidth, type idWidth) deriving (Bits);
  
  function Bit#(3) axiBusSize(Integer busWidth);
  
negative.code:     Bit#(8) len;
      Bit#(3) size; // assume matches bus width of Axi4Client
      Bit#(2) burst;  // drive with 2'b01
      Bit#(3) prot; // drive with 3'b000
      Bit#(4) cache; // drive with 4'b0011
      Bit#(idWidth) id;
      Bit#(2) lock;
      Bit#(4) qos;
  } Axi4WriteRequest#(type addrWidth, type idWidth) deriving (Bits);
  
  typedef struct {
  