WIP: Purely functional data structures in JavaScript