anchor.diff:          do 
               let mutable (i : int) = 0
               while (i < relocationSymbolIndices.Length) do
  -                if int relocationSymbolIndices.[i] > peHeaders.CoffHeader.NumberOfSymbols
  -                then raise <| ResourceException("CoffResourceInvalidRelocation")
  +                if int relocationSymbolIndices.[i] > peHeaders.CoffHeader.NumberOfSymbols then
  +                    raise <| ResourceException("CoffResourceInvalidRelocation")
                   let mutable offsetOfSymbol = int64 peHeaders.CoffHeader.PointerToSymbolTable + int64 relocationSymbolIndices.[i] * int64 ImageSizeOfSymbol
                   stream.Position <- offsetOfSymbol
                   stream.Position <- stream.Position + 8L
  
positive.code:     static member AppendIconToResourceStream(resStream : Stream, iconStream : Stream) = 
          let mutable iconReader = new BinaryReader(iconStream)
          let mutable reserved = iconReader.ReadUInt16 ()
          if reserved <> 0us
          then raise <| ResourceException("IconStreamUnexpectedFormat")
          let mutable ``type`` = iconReader.ReadUInt16 ()
          if ``type`` <> 1us
          then raise <| ResourceException("IconStreamUnexpectedFormat")
          let mutable count = iconReader.ReadUInt16 ()
          if count = 0us
          then raise <| ResourceException("IconStreamUnexpectedFormat")
          let mutable iconDirEntries : ICONDIRENTRY [] = Array.zeroCreate (int count)
          do 
              let mutable (i : System.UInt16) = 0us
  
negative.code:                             i <- i + 1
                  version <- new Version(int values.[0], int values.[1], int values.[2], int values.[3])
                  not parseError
  
      static member private TryGetValue(s : string, [<System.Runtime.InteropServices.Out>] value : byref<System.UInt16>) : bool = 
          let mutable (number : System.Numerics.BigInteger) = Unchecked.defaultof<System.Numerics.BigInteger>
          if System.Numerics.BigInteger.TryParse (s, System.Globalization.NumberStyles.None, System.Globalization.CultureInfo.InvariantCulture, ref number) then 
              value <- uint16 (number % bigint 65536)
              true
          else
              value <- 0us
              false
  
      static member GenerateVersionFromPatternAndCurrentTime(time : DateTime, pattern : Version) = 
          if pattern = Unchecked.defaultof<_> || pattern.Revision <> int UInt16.MaxValue then
              pattern
          else
              let mutable time = time
              // MSDN doc on the attribute: 
              // "The default build number increments daily. The default revision number is the number of seconds since midnight local time 
              // (without taking into account time zone adjustments for daylight saving time), divided by 2."
              if time = Unchecked.defaultof<DateTime> then
                  time <- DateTime.Now
              let mutable (revision : int) = int time.TimeOfDay.TotalSeconds / 2
              Debug.Assert (revision < int UInt16.MaxValue)
              if pattern.Build = int UInt16.MaxValue then 
                  let mutable (days : TimeSpan) = time.Date - new DateTime(2000, 1, 1)
                  let mutable (build : int) = Math.Min (int UInt16.MaxValue, (int days.TotalDays))
                  new Version(pattern.Major, pattern.Minor, int (uint16 build), int (uint16 revision))
  