anchor.diff:            DartType type = typeUse.type;
             switch (typeUse.kind) {
               case TypeUseKind.TYPE_LITERAL:
  -              if (type is InterfaceType) {
  -                InterfaceType interface = type;
  +              var typeWithoutNullability = type.withoutNullability;
  +              if (typeWithoutNullability is InterfaceType) {
                   dependencies.addClass(
  -                    interface.element, typeUse.deferredImport);
  +                    typeWithoutNullability.element, typeUse.deferredImport);
                 }
                 break;
               case TypeUseKind.CONST_INSTANTIATION:
  
positive.code:       LibraryEntity library, Spannable context) {
      if (info.isDeferred || compiler.options.newDeferredSplit) return;
      if (constant is TypeConstantValue) {
        var type = constant.representedType;
        if (type is InterfaceType) {
          var imports = classImportsTo(type.element, library);
          _fixDependencyInfo(
  
negative.code:       }
        if (constant is InstantiationConstantValue) {
          for (DartType type in constant.typeArguments) {
            type = type.withoutNullability;
            if (type is InterfaceType) {
              _updateClassRecursive(
                  closedWorld, type.element, oldSet, newSet, queue);
  