Load the attached ChangeSets: first Ti-Engine and then Ti-Support. You could then evaluate the below expressions -- watch the Transcript to see which methods are being analysed. TiSystem current reset. string := '3 + 4'. Compiler new analyze: string in: nil to: nil notifying: nil ifFail: [1]. "=> return {<SmallInteger>} " TiSystem current reset. string := 'Display boundingBox'. Compiler new analyze: string in: nil to: nil notifying: nil ifFail: [1]. "=> return {<Rectangle origin: <Point x: <SmallInteger> y: <SmallInteger>> corner: <Point x: <SmallInteger> y: <SmallInteger>>>}" TiSystem current explore. Analysing 'Display boundingBox' shows a couple of surprises: 1. The code never goes through the #new method (it creates objects using #basicNew and #@) 2. Object code goes through Object>>value but knowing that the implementation just answers self, it could be easily optimised. I will try to package it more nicely under Monticello -- there are still a few rough edges that need to be polished before getting it to the same state it was in 2001... Cheers, Francisco