purely functional data structure

persistent data structure that does not rely on mutable state