from jim.h:289
union {
jim_wide wideValue;
int intValue;
double doubleValue;
void *ptr;
struct {
void *ptr1;
void *ptr2;
} twoPtrValue;
struct {
void *ptr;
int int1;
int int2;
} ptrIntValue;
struct {
struct Jim_Var *varPtr;
unsigned long callFrameId;
int global;
} varValue;
struct {
struct Jim_Obj *nsObj;
struct Jim_Cmd *cmdPtr;
unsigned long procEpoch;
} cmdValue;
struct {
struct Jim_Obj **ele;
int len;
int maxLen;
} listValue;
struct Jim_Dict *dictValue;
struct {
int maxLength;
int charLength;
} strValue;
struct {
unsigned long id;
struct Jim_Reference *refPtr;
} refValue;
struct {
struct Jim_Obj *fileNameObj;
int lineNumber;
} sourceValue;
struct {
struct Jim_Obj *varNameObjPtr;
struct Jim_Obj *indexObjPtr;
} dictSubstValue;
struct {
int line;
int argc;
} scriptLineValue;
} internalRep;