anchor.diff:    fPaths.Add(Path.GetDirectoryName(el));
     var md := ModuleDefinition.ReadModule(el, rp);
     fLibraries.Add(md);
  +  if fLoaded.TryGetValue(md.Assembly.Name.ToString, out result) then exit;
     fLoaded.Add(md.Assembly.Name.ToString, md);
     exit md;
   end;
  
positive.code:     end;
      exit lType.Name;
    end;
    if lType.IsValueType then begin
      if not fValueTypes.Contains(lType) Then begin
        fValueTypes.Add(lType);
        fImportNameMapping.Add(lType.FullName, lType.Name);
  
negative.code:     MetadataType.UInt32: exit 'uint';
      MetadataType.UInt64: exit 'ulong';
      MetadataType.Char: exit 'char';
      MetadataType.Double: exit 'double';
      MetadataType.IntPtr: exit 'native int';
      MetadataType.UIntPtr: exit 'native unsigned int';
      MetadataType.Single: exit 'single';
      MetadataType.Void: exit 'void';
      MetadataType.Pointer: exit SigTypeToString(aType.GetElementType)+'*';
      MetadataType.GenericInstance: exit SigTypeToString(GenericInstanceType(aType).ElementType)+'<'+String.Join(',', GenericInstanceType(aType).GenericArguments.ToArray)+'>';
      MetadataType.Object: exit 'object';
      MetadataType.String: exit 'string';
      MetadataType.Class,
      MetadataType.ValueType: exit aType.ToString;
     else
       assert(False);
    end;
  