typedef struct {
enum {
TYPE_DOUBLE,
TYPE_INT,
TYPE_STRING,
TYPE_OBJECT,
TYPE_BOOLEAN,
TYPE_NULL
} type;
union {
double double_num;
int32_t int_num;
char* string_ptr;
void* object_ptr;
char boolean; //There is no bool type in old C
} as;
} value;