anchor.diff:      var isArray = typeMirror.isSubtypeOf(listMirror);
       var isFunction = typeMirror.isSubtypeOf(functionMirror);
       var isJSObject = typeMirror.isSubtypeOf(jsObjectMirror);
  +    var className = mirrors.MirrorSystem.getName(typeMirror.simpleName);
  +    var isPrivate = className.startsWith('_');
  +    if (isPrivate) className = '${escapePrivateClassPrefix}${className}';
       var fullName =
  -        '${prefixName}.${mirrors.MirrorSystem.getName(typeMirror.simpleName)}';
  +        '${prefixName}.${className}';
       (isArray ? implementsArray : implements).add(fullName);
       if (!isArray && !isFunction && !isJSObject) {
         // For DOM classes we need to be a bit more conservative at tagging them
  
positive.code:           if (isDom) {
              sbPatch.write("  static Type get instanceRuntimeType => ${classNameImpl};\n");
            }
            if (sbPatch.isNotEmpty) {
              var typeVariablesClause = '';
              if (!clazz.typeVariables.isEmpty) {
  
negative.code:     return ret;
    }
  }
  