anchor.diff:      fUnit.Types.Add(lType);
       lNames.Clear;
       lMethodMap.Clear;
  -    for each meth in el.Key.Methods index n do begin
  +    for each meth in el.Key.Methods.OrderBy(m -> GetMethodSignature(m)) index n do begin
         if (meth.GenericParameters.Count > 0) or (meth.IsSpecialName and meth.Name.StartsWith('op_')) or (meth.IsConstructor and meth.IsStatic) then continue; 
         if (meth.ReturnType.IsGenericInstance and meth.ReturnType.IsValueType) then continue;
         if meth.Parameters.Any(a->a.ParameterType.IsGenericInstance and a.ParameterType.IsValueType) then continue;
  
positive.code: 
      var lProperties := new List<CGPropertyDefinition>;
  
      for each prop in el.Key.Properties do begin
        if not (((prop.GetMethod <> nil) and (prop.GetMethod.IsPublic)) or ((prop.SetMethod <> nil) and (prop.SetMethod.IsPublic)))then continue;
        var lProp := new CGPropertyDefinition(prop.Name);
        if coalesce(prop.GetMethod, prop.SetMethod).IsStatic then
  
negative.code:   case aType.MetadataType of
      MetadataType.Array: exit SigTypeToString(aType.GetElementType)+'[]';
      MetadataType.Boolean: exit 'bool';
      MetadataType.ByReference: exit SigTypeToString(ByReferenceType(aType).ElementType)+'&';
      MetadataType.Byte: exit 'byte';
      MetadataType.Int16: exit 'short';
      MetadataType.Int32: exit 'int';
  