
Hmmm.... I thought that arrays in Python have no reason to be boxed. Lists, yes, since they are untyped, so they are arrays of pointers, but arrays are homogeneous.
Python has a different meaning for "list" than the rest of the world. When python says "list", read "boxed array" (heterogeneous) and when it says "array" read "unboxed array" (homogenous).
I don't know why boxing may simplify the *memory model*.
If you can have unboxed types floating around then you need to ether put them on the stack or your GC needs to be cool with them... relocating GC I imagine having especial trouble with unboxed types. Having a common handle on all types would certainly simplify the GC. I don't know if this is what he meant by "memory model".
The most dramatic effect of implicit boxing is the possibility - available in Smalltalk - to change the *identity* of an object.
Wow, just when you thought you were safe from aliasing...