field_t
struct field_t;
field_t* fields; // field definitions
field_t F;
field_t* fields = (field_t*)alloc_mem(2 * sizeof(field_t));
field_t* fields = (field_t*)alloc_mem(4 * sizeof(field_t));
field_t* fields = (field_t*)alloc_mem(4 * sizeof(field_t));
field_t* fields = (field_t*)alloc_mem(1 * sizeof(field_t));
field_t* fields = (field_t*)alloc_mem(1 * sizeof(field_t));
field_t* fields = (field_t*)alloc_mem(1 * sizeof(field_t));
field_t* fields = (field_t*)alloc_mem(7 * sizeof(field_t));
field_t* fields = (field_t*)alloc_mem(1 * sizeof(field_t));
field_t* fields = (field_t*)alloc_mem(1 * sizeof(field_t));
field_t* fields = (field_t*)alloc_mem(1 * sizeof(field_t));
field_t* fields = (field_t*)alloc_mem(1 * sizeof(field_t));
field_t* fields = (field_t*)alloc_mem(1 * sizeof(field_t));
type.fields = (field_t*) list.items;
static list_t make_field_list(field_t);
static list_t concat_field_list(list_t, field_t);
make_field_list(field_t field)
out.items = alloc_mem(sizeof(field_t));
*((field_t*)out.items) = field;
concat_field_list(list_t list, field_t field)
out.items = alloc_mem(out.count * sizeof(field_t));
memcpy(out.items, list.items, list.count * sizeof(field_t));
memcpy((field_t*)out.items + list.count, &field, sizeof(field_t));