I was harping about how else to describe simple programming constructs yesterday and came to the idea that you can essentially think of types in the same way you can think about primitives in 3D design. In 3D design primitives like cubes and cylinders are the basis of all kinds of more complex objects. And in programming you have simple types like strings and numbers. This is the opposite of the authors problem. But it would help an artist who wants to understand how to code. ;)