Hi, i use Pharo-1.1-11411 and got a few questions. i looked at the comments of Matrix: it talks about Array2D but this object does not exist? it says "Element-wise matrix arithmetic works", but this is not true: while + - * functions in this way: aNumber + aMatrix, "/" does not always function: aSmallInteger / aMatrix produces an error, because aMatrix is tested with isZero. a simple fix would be to change the first program line in SmallInteger>>/ from: aNumber isZero ifTrue: [^(ZeroDivide dividend: self) signal]. to: (aNumber isNumber and: [aNumber isZero]) ifTrue: [^(ZeroDivide dividend: self) signal]. further aMatrix + aNumber and similar arithmetic dont work. but with the above fix it would work nicely with simple implementations like this: Collection>>/ / aNumber ^aNumber adaptToCollection: self andSend: #/ and so forth. while testing these things with Fractions, i noticed this: printing {3/4} produces this output:{(3/4)}. printing {{0.75}} produces this output:#(#(0.75)). printing {{3/4}} produces this output:{((Array new: 1) at: 1 put: (3/4); yourself)}. i wonder what the last output wants to tell me? does it want to tell me, that the last thing uses up a lot more memory than the first two, and accessing it takes more time, so that i should use the second thing instead, or is it (more or less) just print output related? werner