anchor.diff:  
   endmodule
   
  -module mkMPStreamEngine#(PipeOut#(MemData#(haystackBusWidth)) haystackPipe,
  -			 MemReadEngineServer#(configBusWidth) configReader) (MPEngine#(haystackBusWidth,configBusWidth))
  +module mkMPStreamEngine(MPStreamEngine#(haystackBusWidth,configBusWidth))
   
      provisos(Add#(a__, 8, haystackBusWidth),
   	    Div#(haystackBusWidth,8,haystackBusBytes),
  
positive.code: 
     Clock clk <- exposeCurrentClock;
     Reset rst <- exposeCurrentReset;
     BRAM2Port#(NeedleIdx, Char) needle  <- mkBRAM2Server(defaultValue);
     BRAM2Port#(NeedleIdx, Bit#(32)) mpNext <- mkBRAM2Server(defaultValue);
     Gearbox#(haystackBusBytes,1,Char) haystack <- mkNto1Gearbox(clk,rst,clk,rst);
  
     Reg#(Bit#(32)) cycleCnt <- mkReg(0);
     Reg#(Bit#(32)) lastHD <- mkReg(0);
  
negative.code: 	    // jReg points to the end of the haystack; we are done
  	    stage <= Config_needle;
  	    if (debug) $display("mkMPEngine::end of search %d", j);
  	 end
  	 else if (i==m+1) begin
  	    // iReg points to the end of the needle; we have a match
  