anchor.diff:              |> Array.map (fun x -> JsonValue.Parse x) 
               |> Array.map (fun x -> (x?payload).AsString())
               |> Array.map (fun x -> JsonValue.Parse x)
  -            |> Array.map (fun x -> { iv = x?IV.AsString(); ciphertext = x?ciphertext.AsString(); hmac = x?hmac.AsString() } )
  +            |> Array.map (fun x -> { iv         = x?IV.AsString()
  +                                     ciphertext = x?ciphertext.AsString()
  +                                     hmac       = x?hmac.AsString() } )
           with | _ -> [||]
   
   
  
positive.code:         
      let getRecordField (r: 'record) (field : Reflection.PropertyInfo) =
          Microsoft.FSharp.Reflection.FSharpValue.GetRecordField(r,field) |> unbox
          
  
      // Cryptography
  
      // E:\projects\fs-random-snippets>"%HOME%\Documents\Visual Studio 2012\Projects\Tutorial3\.nuget\nuget" PBKDF2.NET
      // Installing 'PBKDF2.NET 2.0.0'.
      // Successfully installed 'PBKDF2.NET 2.0.0'.
      // #r @"PBKDF2.NET.2.0.0\lib\net45\PBKDF2.NET.dll"
  
      // https://github.com/crowleym/HKDF
      // #r @"HKDF\RFC5869.dll"
      // open RFC5869
  
      // https://bitbucket.org/devinmartin/base32/src/90d7d530beea52a2a82b187728a06404794600b9/Base32/Base32Encoder.cs?at=default
      let base32Decode (s' : string) = 
          let undo89 (s : string) = 
              s.ToUpper().ToCharArray() 
              |> Array.map (fun x -> match x with | '8' -> 'L' | '9' -> 'O' | _ -> x )
          let s = s' |>  undo89 |> Array.filter (fun x -> if x = '=' then false else true) |> fun cs -> new string(cs)
          let encodingChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"
          let encodedBitCount = 5
          let byteBitCount = 8
          if isSubset encodingChars s then       
              let outputBuffer = Array.create (s.Length * encodedBitCount / byteBitCount) 0uy
              let mutable workingByte = 0uy
              let mutable bitsRemaining = byteBitCount
              let mutable mask = 0
              let mutable arrayIndex = 0
              for c in s.ToCharArray() do 
                  let value = encodingChars.IndexOf c
                  if bitsRemaining > encodedBitCount then
                      mask <- value <<< (bitsRemaining - encodedBitCount)
                      workingByte <- (workingByte ||| (byte) mask)
  
negative.code:     //    hmac = HKDF-Expand(sync_key, encryption_key + info + "\x02", 32)
      //      -> 0xbf9e48ac50a2fcc400ae4d30a58dc6a83a7720c32f58c60fd9d02db16e406216
      //                                                 
      let ff_skb' = syncKeyBundle "johndoe@example.com" ("Y4NKPS6YXAVI75XNUVODSR472I" |> base32'8'9Decode)
      let ff_skb'' = ( ff_skb'.encryption_key |> Array.map (sprintf "%x"), 
                       ff_skb'.hmac_key |> Array.map (sprintf "%x"))
      let ff_skb''' = ([|"8d"; "7"; "65"; "43"; "e"; "a0"; "d9"; "db"; "d5"; "3c"; "53"; "6c";
  