I'll play devil's advocate with the hope that it facilitates a response by someone who understands the topic far better than me: what is security?
Nothing is "secure" forever and ever. For each objective you need to state some assumptions that are required to uphold it.
Haskell allows you to express more assumptions in code, not just comments, to be enforced at compile time. And with some careful handling Haskell types provide a solid foundation without going into full deductive verification mode.