anchor.diff:                                              let mutable idx = 0
                                               let mutable breakLoop = false
                                               while (idx < elements.[i].Length) && not breakLoop do
  -                                                if not (Char.IsDigit (elements.[i].[idx]))
  -                                                then 
  +                                                if not (Char.IsDigit (elements.[i].[idx])) then 
                                                       invalidFormat <- true
                                                       VersionHelper.TryGetValue ((elements.[i].Substring (0, idx)), ref values.[i]) |> ignore<bool>
                                                       breakLoop <- true
                                                   else
                                                       idx <- idx + 1
                                           let mutable doBreak = true
  -                                        if not invalidFormat
  -                                        then 
  -                                            if VersionHelper.TryGetValue (elements.[i], ref values.[i])
  -                                            then 
  +                                        if not invalidFormat then 
  +                                            if VersionHelper.TryGetValue (elements.[i], ref values.[i]) then 
                                                   //For this scenario the old compiler would continue processing the remaining version elements
                                                   //so continue processing
                                                   doBreak <- false
  
positive.code:         writer.Write (keyValuePair.Value.ToCharArray ())
          writer.Write (uint16 0) // (WORD)'\0'
          System.Diagnostics.Debug.Assert (int64 cbBlock = writer.BaseStream.Position - startPos)
      static member private KEYSIZE(sz : string) = 
          VersionResourceSerializer.PadKeyLen (sz.Length + 1 * sizeof<WCHAR>) / sizeof<WCHAR>
      static member private KEYBYTES(sz : string) = 
          VersionResourceSerializer.KEYSIZE (sz) * sizeof<WCHAR>
      member private this.GetStringsSize() = 
          let mutable (sum : int) = 0
          for verString in this.GetVerStrings () do
              sum <- sum + 3 &&& ~~~3
              sum <- sum + VersionResourceSerializer.SizeofVerString (verString.Key, verString.Value)
          sum
      member this.GetDataSize() = 
          let mutable (sizeEXEVERRESOURCE : int) =
               sizeof<WORD> * 3 * 5 + 2 *  sizeof<WORD> +
  
negative.code:             let mutable (i : System.UInt16) = 0us
              while (i < count) do
                  iconStream.Position <- int64 iconDirEntries.[(int i)].dwImageOffset
                  if iconReader.ReadUInt32 () = 40u then 
                      iconStream.Position <- iconStream.Position + 8L
                      iconDirEntries.[(int i)].wPlanes <- iconReader.ReadUInt16 ()
                      iconDirEntries.[(int i)].wBitCount <- iconReader.ReadUInt16 ()
  