I don't all together disagree with your points, however I'd like to pint out that Haskell has a great C FFI:
http://www.haskell.org/haskellwiki/GHC/Using_the_FFI http://book.realworldhaskell.org/read/interfacing-with-c-the...