anchor.diff:  
     procedure SaveVar(Src: Pointer; aType: TPSTypeRec);
     var
  -    ArrayCount: Integer;
  +    ElemCount: Integer;
       I: Integer;
       Offset: Cardinal;
     begin
  
positive.code:     I: Integer;
      Offset: Cardinal;
    begin
      //See uPSRuntime line 1630 for algo idea
      case aType.BaseType of
        btU8,
        btS32,
        btSingle: ; //Valid types
        btArray,
        btStaticArray: Result := ValidateVarType(TPSTypeRec_Array(aType).ArrayType);
        else           Result := 'Unsupported global variable type ' + IntToStr(aType.BaseType) + ': ' + aType.ExportName + '|';
      end;
    end;
  
  
negative.code:       btS32: LoadStream.Read(tbts32(Src^)); //Integer
        btSingle: LoadStream.Read(tbtsingle(Src^));
        btStaticArray:begin
                        LoadStream.Read(ElemCount);
                        Assert(ElemCount = TPSTypeRec_StaticArray(aType).Size, 'Script array element count mismatches saved count');
                        for I:=0 to ElemCount-1 do
                        begin
                          Offset := TPSTypeRec_Array(aType).ArrayType.RealSize * I;
                          LoadVar(Pointer(IPointer(Src) + Offset), TPSTypeRec_Array(aType).ArrayType);
                        end;
                      end;
        btArray:      begin
                        LoadStream.Read(ElemCount);
                        PSDynArraySetLength(Pointer(Src^), aType, ElemCount);
                        for I:=0 to ElemCount-1 do
                        begin
                          Offset := TPSTypeRec_Array(aType).ArrayType.RealSize * I;
                          LoadVar(Pointer(IPointer(Src^) + Offset), TPSTypeRec_Array(aType).ArrayType);
                        end;
                      end;
        btRecord:     begin
                        LoadStream.Read(ElemCount);
                        Assert(ElemCount = TPSTypeRec_Record(aType).FieldTypes.Count, 'Script record element count mismatches saved count');
                        for I := 0 to ElemCount-1 do
                        begin
                          Offset := Cardinal(TPSTypeRec_Record(aType).RealFieldOffsets[I]);
                          LoadVar(Pointer(IPointer(Src) + Offset), TPSTypeRec_Record(aType).FieldTypes[I]);
                        end;
                      end;
        //Already checked and reported as an error in LinkRuntime, no need to crash it here
        //else Assert(False);
      end;
  