anchor.diff:      var type = _emitType(to,
           nameType: options.nameTypeTests || options.hoistTypeTests,
           hoistType: options.hoistTypeTests);
  -    if (_inWhitelistCode(node)) return jsFrom;
       if (isReifiedCoercion(node)) {
         return js.call('#._check(#)', [type, jsFrom]);
       } else {
  
positive.code:       }
      }
  
      // If the type doesn't have an `iterator`, but claims to implement Iterable,
      // we inject the adaptor method here, as it's less code size to put the
      // helper on a parent class. This pattern is common in the core libraries
  
negative.code:     var from = getStaticType(fromExpr);
      var to = node.type.type;
  
      JS.Expression jsFrom = _visit(fromExpr);
      if (_inWhitelistCode(node)) return jsFrom;
  
      // Skip the cast if it's not needed.
      if (rules.isSubtypeOf(from, to)) return jsFrom;
  