value_base
struct value_base *p;
struct value_base *p;
struct value_base *p = PTR2BASE(val);
struct value_base *p = calloc(1, size + sizeof(*p));
#define PTR2BASE(ptr) (((struct value_base *)ptr) - 1)
#define BASE2PTR(ptr) ((void *)(((struct value_base *)ptr) + 1))