typedef struct { TYPE val; NODE *next; } NODE; NODE cons (TYPE val, NODE rest) { NODE *new_front = malloc (sizeof (NODE)); new_front->next = rest; new_front->val = val; }