Your operating system, and the outside world, is a shared mutable resource -- particularly file systems and network connections. Even in Haskell, you can explicitly close a file (the docs recommend it!), and if you shared that file with anyone else they&#x27;ll start erroring out.<p>That said, programming languages (on their own) can&#x27;t really do anything about other processes&#x2F;computers interacting poorly with yours!
The ultimate semantic of ownership is still there, though.<p>There&#x27;s also the ST Monad, which provides safe mutability in Haskell by enforcing that the mutated state doesn&#x27;t escape a region of the program. This is literally the same idea as the borrow checker.