Immutable data structures for JavaScript's Array, Date, and Object objects