Don't bother. You won't gain any meaningful security, and you'll be using the same error-prone, outmoded constructions. Even if you had built this application in perfect, error-proof Haskell, it would still be insecure because of the way you're using AES. Adopt a credible NaCL library.
Really though, if you're interested in crypto, I strongly urge you not to go the route of trying to build crypto applications. The crypto apps people really need are extremely hard to build safely.
A better place to start with crypto is to learn how to break it. The cryptopals challenges are programming intensive and don't have any prerequisites; or, check out LVH's Crypto 101.
It will be fixed in the next update!