ciphertext_ :: Chain
            -> Word32
            -> Maybe Header
            -> ByteString
            -> IO (ByteString, Chain)
ciphertext_ chain pad hdr pt = do
  (Ciphertext et (Poly1305.Auth m), chainOut) <- ciphertext chain pad hdr pt
  return (et <> m, chainOut)
ciphertext_ :: Chain
            -> Word32
            -> Maybe Header
            -> ByteString
            -> IO (ByteString, Chain)
ciphertext_ chain pad hdr pt = do
  (Ciphertext et (Poly1305.Auth m), chainOut) <- ciphertext chain pad hdr pt
  return (et <> m, chainOut)
ciphertext_ chain pad hdr pt = do
  (Ciphertext et (Poly1305.Auth m), chainOut) <- ciphertext chain pad hdr pt
  return (et <> m, chainOut)