An interesting aspect which JS has and other languages don&#x27;t is the &quot;objects are hashes&quot; notion. Combined with TypeScript &#x2F; Elm &#x2F; PureScript&#x27;s ability to write and check the types of these (especially Elm before the refactor that removed the add&#x2F;delete field features), this is very powerful. I often wish Haskell&#x27;s built in records were as powerful as Elm&#x27;s &#x2F; PureScript&#x27;s, but wonder if thats doable in an efficient way without the JIT logic in engines like V8.<p>Also, there is something to the whole &quot;modules are records&#x2F;hashes&quot; idea which is quite elegant, IMO. I&#x27;m not sure why we still put up with the idea that the module system needs to be a whole different language with different rules. But I&#x27;m not sure if there is a type system capable of modelling this very well.