> with new paradigms that Haskell hasn't yet fully adopted (borrowing, etc)
Honestly, I don't want to think about borrowing. For my gamedev/rendering tasks I have resource regions (as a library) and trust the runtime to do its thing.
Fuchsia has nearly been 10 years in the making but has yet to make any meaningful impact. They probably could have spent a quarter or two with Yocto to create a stripped down linux for Nest devices and called it a day.
Instead they had 400(!) full time staff pulling in $300k+ developing something which nobody wanted and has not had any meaningful impact.
Maybe in 10 more years they will manage to replace Android…
Security is resilience with respect to your threat model.
The usual security objectives are confidentiality, integrity, and availability.
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.