anchor.diff:        }
   
         var returnType = _expectedReturnType(function, _coreTypes.iterableClass);
  -      var syncIterable = _emitType(
  -          InterfaceType(_syncIterableClass, Nullability.legacy, [returnType]));
  +      var syncIterable = _emitInterfaceType(
  +          InterfaceType(_syncIterableClass, Nullability.legacy, [returnType]),
  +          emitNullability: false);
         return js.call('new #.new(#)', [syncIterable, gen]);
       }
   
  
positive.code:       var gen = emitGeneratorFn((_) => [_asyncStarController]);
  
        var returnType = _expectedReturnType(function, _coreTypes.streamClass);
        var asyncStarImpl =
            InterfaceType(_asyncStarImplClass, Nullability.legacy, [returnType]);
        return js.call('new #.new(#).stream', [_emitType(asyncStarImpl), gen]);
      }
  
      assert(function.asyncMarker == AsyncMarker.Async);
  
negative.code:   js_ast.Expression visitSetLiteral(SetLiteral node) {
      // TODO(markzipan): remove const check when we use front-end const eval
      if (!node.isConst) {
        var setType = _emitInterfaceType(
            InterfaceType(
                _linkedHashSetClass, Nullability.legacy, [node.typeArgument]),
            emitNullability: false);
        if (node.expressions.isEmpty) {
          return js.call('#.new()', [setType]);
        }
  