anchor.diff:    endmodule
   endinstance
   
  +// Base case 2: execute action.
  +instance Prop#(Action);
  +  module [BlueCheck] pr#(List#(Fmt) app, Frequency fr, Action a) ();
  +    Action act = action $display(formatApp(app)); a; endaction;
  +    addToCollection(tagged ActionItem (tuple2(fr, act)));
  +  endmodule
  +endinstance
  +
  +// Base case 3: execute action-value
  +instance Prop#(ActionValue#(t))
  +  provisos(Eq#(t), Bits#(t, n));
  +  module [BlueCheck] pr#(List#(Fmt) app, Frequency fr, ActionValue#(t) a) ();
  +    Action act =
  +      action
  +        $display(formatApp(app));
  +        t aVal <- a;
  +        $display("   (Returned ", aVal, ")");
  +      endaction;
  +      addToCollection(tagged ActionItem (tuple2(fr, act)));
  +  endmodule
  +endinstance
  +
   // Recursive case.
   instance Prop#(function b f(a x))
     provisos(Prop#(b), Bits#(a, n), Bounded#(a), FShow#(a));
  
positive.code:       end
      else
        begin
          $display("OK: passed", count, " tests.");
          $finish(0);
        end
    endrule
  
  endmodule
  
  endpackage
  
negative.code:   Randomize#(State) randomState <-
      mkConstrainedRandomizer(0, fromInteger(numStates-1));
    Reg#(State) state <- mkReg(0);
    Reg#(UInt#(20)) count <- mkReg(0);
    Wire#(Bool) waitWire <- mkDWire(False);
    List#(Bool) inState = stateConds(state, 1, freqs);
  
  