anchor.diff:                          stream.Write typeObj.AssemblyQualifiedName
                       | :? Array as arrObj -> 
                           marked.Add(obj, marked.Count)
  -                        this.WriteArray(objType, arrObj)
  +                        this.WriteArray(serTypeInfo, arrObj)
                       | :? string as strObj ->  
                           marked.Add(obj, marked.Count)
                           stream.Write strObj  
  
positive.code:                 Buffer.BlockCopy(buffer, int memStream.Position, arrObj, 0, sizeInBytes)
                  memStream.Position <- memStream.Position + int64 sizeInBytes
  
      let readPrimitiveArray : Type -> Array -> unit = 
          let readPrimitiveArrayOneByOne (elType: Type) (arrObj: Array) = 
              match Type.GetTypeCode(elType) with
              | TypeCode.Boolean -> let arr = arrObj :?> Boolean[] in arr |> Array.iteri (fun i _ -> arr.[i] <- reader.ReadBoolean())
              | TypeCode.Byte -> let arr = arrObj :?> Byte[] in arr |> Array.iteri (fun i _ -> arr.[i] <- reader.ReadByte())
              | TypeCode.SByte -> let arr = arrObj :?> SByte[] in arr |> Array.iteri (fun i _ -> arr.[i] <- reader.ReadSByte())
  
negative.code:             | TypeCode.Double -> let arr = arrObj :?> Double[] in arr |> Array.iter stream.Write
              | TypeCode.Single -> let arr = arrObj :?> Single[] in arr |> Array.iter stream.Write
              | TypeCode.Decimal | TypeCode.DateTime | TypeCode.DBNull | TypeCode.String | TypeCode.Object | TypeCode.Empty | _ -> 
                  failwith <| sprintf "Unknown primitive type %A" (arrayTypeInfo.Type.GetElementType())
          match stream.BaseStream with
          | :? MemoryStream as memStream -> 
              fun (arrayTypeInfo: SerTypeInfo, lowerBounds: int[], lengths: int[], arrObj: Array) -> 
                  writeMemoryBlittableArray (arrObj, arrayTypeInfo.GetElementSize(), memStream)
          | _ -> writePrimitiveArrayOneByOne
  
      let writeValueArray : Type * int[] * int[] * Array -> unit = 
  