-- | And we want to be able to get our string representation back as public key
deserializePublicKey :: String -> IO PublicKey
deserializePublicKey someKey =
  let unsafeCast :: PKey.SomePublicKey -> PublicKey
      unsafeCast = fromJust . PKey.toPublicKey

  in (return . unsafeCast) =<< PEM.readPublicKey someKey
deserializePublicKey :: String -> IO PublicKey
deserializePublicKey someKey =
  let unsafeCast :: PKey.SomePublicKey -> PublicKey
      unsafeCast = fromJust . PKey.toPublicKey

  in (return . unsafeCast) =<< PEM.readPublicKey someKey
deserializePublicKey someKey =
  let unsafeCast :: PKey.SomePublicKey -> PublicKey
      unsafeCast = fromJust . PKey.toPublicKey

  in (return . unsafeCast) =<< PEM.readPublicKey someKey