&gt; A strongly typed high level language should be immutable by default, or at the very least track mutability, which means we can statically know that large object graphs are acyclic (as immutable values must be, in a strict language) – no need to trace these in any cycle collector.<p>How would this work?  Unless all values are immutable, this isn&#x27;t generally true.  If all values <i>are</i> immutable then you&#x27;ve got a pure functional language and a lot of these ideas don&#x27;t apply any more.