<div dir="ltr"><div><div><div>The default behavior is to rely on ^self size = 0.<br></div>But default size is doing too much (it iterates over all elements).<br></div><div>It&#39;s OK for most of our classes which know very well about their size and override #size.<br></div>It&#39;s not OK for an eventually lazy or infinite subclass.<br></div>I realized this by answering <a href="http://stackoverflow.com/questions/40149826/is-there-a-construct-like-iterate-iterable-if-it-has-elements-else">http://stackoverflow.com/questions/40149826/is-there-a-construct-like-iterate-iterable-if-it-has-elements-else</a><br></div>