For C code that calls Tcl public routines that accept ''(Tcl_Obj *)'' arguments, the most efficient techniques for reference count management rely on knowing which routines are known safe to pass a zero-ref Tcl_Obj to. These are the routines that do not make any call to Tcl_DecrRefCount() on the argument, and do not call anything else that does. Here's the start of a list. Please add to it: * Tcl_GetStringFromObj() * Tcl_GetIndexFromObj() * Tcl_GetIndexFromObjStruct()