anchor.diff:    static void _notifyListeners() {
       assert(!_inBuildDirtyComponents);
       assert(!Widget._notifyingMountStatus);
  -    assert(_debugDuplicates.isEmpty);
  +    assert(() {
  +      String message = '';
  +      for (GlobalKey key in _debugDuplicates.keys) {
  +        message += "Duplicate GlobalKey found amongst mounted widgets: $key (${_debugDuplicates[key]} instances)\n";
  +        message += "Most recently registered instance is:\n${_registry[key]}\n";
  +      }
  +      if (!_debugDuplicates.isEmpty)
  +        throw message;
  +      return true;
  +    });
       if (_syncedKeys.isEmpty && _removedKeys.isEmpty)
         return;
       try {
  
positive.code: 
  // TODO(ianh): Move this to Widget
  void _endSyncPhase() {
    Widget._currentGeneration += 1;
    Widget._notifyMountStatusChanged();
  }
  
  // TODO(ianh): Move this to Component
  
negative.code:         continue; // when these nodes are reordered, we just reassign the data
  
        if (!idSet.add(child.key)) {
          throw '''If multiple keyed nodes exist as children of another node, they must have unique keys. ${toStringName()} has multiple children with key "${child.key}".''';
        }
      }
      return false;
  