<div dir="ltr"><div>Hi,</div><div><br></div><div>I had some unexpected results while looking at some primitives in the system, and I wanted to ask if they are expected/intentional:</div><div><br></div><div>1. 'ab' instVarAt: 1    =>    97    (and 'ab' instVarAt: 2    =>    98)</div><div>    I would have thought that #instVarAt: has pointer granularity, so I am curious if the observed behavior is an accident or intentional (and maybe even used somewhere)</div><div><br></div><div>2. | o | o := Object new. (WeakArray with: o) pointsTo: o    =>    true</div><div>    I thought the main use case for #pointsTo: was to find hard references (e.g. for chasing memory leaks). The current behavior actually makes that use case a little more difficult to implement, since you have to special case weak references. When would one be interested in finding weak references?</div><div><br></div><div>3. The comment and the primitive used in #ensure: and #ifCurtailed: are the same, but the primitive failure code is different - the one for #ifCurtailed seems buggy, it never evaluates the argument</div><div><br></div><div>None of the above are critical, but I am curious about them.</div><div>Thank you in advance for any clarifications,</div><div><br></div><div>Florin<br></div></div>