anchor.diff:     interface Vector#(2,Server#(ReqTup,Bit#(addrWidth))) addr;
   endinterface
   
  -typedef union tagged{
  -   Bit#(SGListPageShift0) OOrd0;
  -   Bit#(SGListPageShift4) OOrd4;
  -   Bit#(SGListPageShift8) OOrd8;
  +typedef struct {
  +   Bit#(3) pageSize;
  +   Bit#(SGListPageShift8) value;
   } Offset deriving (Eq,Bits,FShow);
   
   typedef Bit#(TSub#(ObjectOffsetSize,SGListPageShift0)) Page;
  +typedef Bit#(TSub#(ObjectOffsetSize,SGListPageShift4)) Page4;
  +typedef Bit#(TSub#(ObjectOffsetSize,SGListPageShift8)) Page8;
   
   typedef struct {
      Bit#(ObjectOffsetSize) barrier;
  
positive.code: 	 Bit#(40) barrier4 = region4.barrier;
  	 Bit#(40) barrier0 = region0.barrier;
  
  	 let cond8 = off < barrier8;
  	 let cond4 = off < barrier4;
  	 let cond0 = off < barrier0;
  
negative.code:    Vector#(2,FIFOF#(Bit#(8)))         pbases <- replicateM(mkFIFOF);
     Vector#(2,FIFOF#(Bit#(8)))    idxOffsets1 <- replicateM(mkFIFOF);
     Vector#(2,FIFOF#(SGListId))         ptrs1 <- replicateM(mkFIFOF);
  
     // stage 4 (latency == 2)
     BRAM2Port#(Bit#(entryIdxSize),Page) pages <- mkBRAM2Server(bramConfig);
  