The reference count is important because today's computers have
a finite (and often severely limited) memory size; it counts how
many different places there are that have a reference to an
object. Such a place could be another object, or a global (or
static) C variable, or a local variable in some C function. When
an object's reference count becomes zero, the object is
deallocated. If it contains references to other objects, their
reference count is decremented. Those other objects may be
deallocated in turn, if this decrement makes their reference
count become zero, and so on. (There's an obvious problem with
objects that reference each other here; for now, the solution is
``don't do that.'') Reference counts are always manipulated
explicitly. The normal way is to use the macro Py_INCREF()
sizeof(long) >= sizeof(char*)). Thus, the reference count
increment is a simple operation. It is not necessary to
increment an object's reference count for every local variable
that contains a pointer to an object. In theo