Immutable data structures for javascript