anchor.diff:  
   typedef enum {HCSIdle, HCS1, HCS2, HCSComplete} HCState deriving (Bits, Eq);
   
  -module mkHirschC#(BRAMServer#(Bit#(strIndexWidth), Bit#(8)) strA, BRAMServer#(Bit#(strIndexWidth), Bit#(8)) strB, BRAMServer#(Bit#(lIndexWidth), Bit#(16)) matL, MCSAlgorithm chirschB0, chirschB1, BRAMServer#(Bit#(lIndexWidth)) l0, BRAMServer#(lIndexWidth)) l1)(MCSAlgorithm)
  +module mkHirschC#(BRAMServer#(Bit#(strIndexWidth), Bit#(8)) strA, BRAMServer#(Bit#(strIndexWidth), Bit#(8)) strB, BRAMServer#(Bit#(lIndexWidth), Bit#(16)) matL, MCSAlgorithm chirschB0,  MCSAlgorithm chirschB1, BRAMServer#(Bit#(lIndexWidth)) l0, BRAMServer#(Bit#(lIndexWidth)) l1)(MCSAlgorithm)
            provisos(Add#(0, 7, strIndexWidth),
   	       Add#(0, 14, lIndexWidth));
   
  
positive.code: 	    endaction
  	 endseq
        
        fr.docall(HCS1, HCS5, {startA: fr.args.startA, lenA: fr.vars.midi, startB: fr.args.startB, lenB: fr.vars.maxj});
     endseq
  
     FSM hc4fsm <- mkFSM(hirschC4Stmt);
  
negative.code:  */
     
    // This FSM searches string B looking for the first char of string A
     Stmt hirschC2stmt =
     seq
        $display("hirschC running ");
        // read A[0]
  