anchor.diff:  import 'mock.dart';
   
   void main() {
  +  testWidgets('shouldRebuild defaults to true', (tester) async {
  +    MayRebuildState first;
  +    var buildCount = 0;
  +
  +    await tester.pumpWidget(
  +      HookBuilder(builder: (c) {
  +        buildCount++;
  +        first = Hook.use(const MayRebuild());
  +
  +        return Container();
  +      }),
  +    );
  +
  +    expect(buildCount, 1);
  +
  +    first.markMayNeedRebuild();
  +    await tester.pump();
  +
  +    expect(buildCount, 2);
  +  });
     testWidgets('can queue multiple mayRebuilds at once', (tester) async {
       final firstSpy = ShouldRebuildMock();
       final secondSpy = ShouldRebuildMock();
  
positive.code: 
  class MayRebuildState extends HookState<MayRebuildState, MayRebuild> {
    @override
    bool shouldRebuild() => hook.shouldRebuild();
  
    @override
    MayRebuildState build(BuildContext context) => this;
  
negative.code: }
  
  class MayRebuild extends Hook<MayRebuildState> {
    const MayRebuild([this.shouldRebuild]);
  
    final ShouldRebuildMock shouldRebuild;
  
  