Or, you know...<p>You could just use immutable.js.<p>It&#x27;s not like OOP languages where the built-in data structures are built up from many layers of inheritance that all have to be made immutable. Where access is blocked at the language level (ex private&#x2F;protected).<p>Immutabilit is not difficult in JS. It&#x27;s just not immetiately intuitive unless you understand the value of comparison by reference.<p>The == vs === always seemed like a strange vestigial appendage of JS. With the recent trends, it&#x27;s beginning to make a lot more sense.