I think the keychain analogy has some possibilities. On Jan 7, 2006, at 7:40 PM, Dave Howell wrote: > Ruby make a new keychain tagged "sillyNum." There isn't a key on > this yet. That's what "nil" is; a keychain without a key. No. The new keychain has a single key on it to the mailbox containing the object known as nil. > sillyNum = population + 14 / "5".to_i How about something a little simpler: a = b + 1 Ruby finds the mailbox that matches the key on the keychain labeled b. There is a slot on the side of the object inside the mailbox. Ruby makes a copy of the key on the :+ keychain and inserts it in the slot. Ruby makes a copy of the key on the 1 keychain and inserts it in the slot. Ruby then presses a button next to the slot. The button is labeled 'send'. Ruby waits a bit and then a new key clanks as it falls into a bin labeled 'return value'. Ruby attaches the new key to the keychain labeled a, discarding any key that was there before. Gary Wright