JavaScript Immutable Collections Experiment