Human: What is the advantage of using purely persistent data structures? Assistant: 
The advantage of using purely persistent data structures is that they often behave better in multi-threaded environments. Singly linked lists are the bread-and-butter data structure in functional languages. ML-derived languages, like Haskell, that are purely functional because once a node in the list has been allocated, it cannot be modified, only copied, referenced or destroyed by the garbage collector when nothing refers to it.