anchor.diff:      let bytesToString (b : byte[]) = b |> Array.map (char) |> fun cs -> new string(cs)
       let bytesToHex (b : byte[]) = b |> Array.map (sprintf "%x")
   
  +    let removeChars (chars : string) (x : string) = 
  +        let set = chars.ToCharArray() |> Set.ofArray
  +        x.ToCharArray() |> Array.filter (fun x -> if set.Contains x then false else true) |> fun x -> new string (x)
  +
  +    let keepAsciiPrintableChars (x : string) =
  +        x.ToCharArray() |> Array.filter (fun x -> if int x < 32 || int x > 126 then false else true) |> fun x -> new string (x)
       
       // Cryptography
   
  
positive.code:     if ff_skb'' <> ff_skb''' then 
          failwith "syncKeyBundle failed"
  
  
  module Workflow =
      open Secrets
      open Utilities
  
      try
          writeSecretKeysToDisk secrets.username secrets.password None
      with | _ -> failwith "writeSecretKeysToDisk failed"
  
      let sk = readSecretKeysFromDisk None |> JsonValue.Parse
      let sk_pl = (sk?payload).AsString() |> JsonValue.Parse
  
  
negative.code:         let url = (clusterURL username) + "1.1/" + username + "/storage/crypto/keys"
          fetchUrlResponse url "GET" (Some (username, password)) None None None
  
  
  
      type CryptoKeysPayload = { iv         : string
                                 ciphertext : string
                                 hmac       : string }
  