Purely functional data structures FP as functions acting on data, no objects around Sharing structure Techniques to work with immutable data structures Example: Linked list, simple tree Spatial hash map References Understanding Immutability and Pure Functions (for OOP) C.Okasaki - Purely Functional Data Structures SpatialHash.scala Extreme Cleverness: Functional Data Structures in Scala Starting to write an immutable singly-linked list in Scala