anchor.diff:  
   class MayRebuildState extends HookState<MayRebuildState, MayRebuild> {
     @override
  -  bool shouldRebuild() => hook.shouldRebuild();
  +  bool shouldRebuild() {
  +    if (hook.shouldRebuild == null) {
  +      return super.shouldRebuild();
  +    }
  +    return hook.shouldRebuild();
  +  }
   
     @override
     MayRebuildState build(BuildContext context) => this;
  
positive.code: }
  
  class MayRebuild extends Hook<MayRebuildState> {
    const MayRebuild(this.shouldRebuild);
  
    final ShouldRebuildMock shouldRebuild;
  
  
negative.code: 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();
  