Strictly, both of these are possible. Technically, it's well known that type systems cannot be perfect in the sense of consistency and finding all "good" programs. Therefore, socially, it's known that there are bad neighborhoods like Foreign, Typeable, and System.IO.Unsafe where one has to be extremely careful while playing around.<p>So, sure, you make a great, fun technical point, but at the same time Haskell as a language and a community has very, very carefully worked to make sure people don't make segfaults — actually, they tried to make sure people don't even write ugly code with polluted namespaces and odd global state.<p>Perl, C, Java just haven't (as much).