{T}Node *output = NULL; if (!list || list->node_count == 0) {{ goto RETURN_{Tupper}_LIST_POP_FRONT; }} output = list->first; if (list->node_count == 1) {{ *list = ({T}List){{0}}; goto RETURN_{Tupper}_LIST_POP_FRONT; }} --(list->node_count); list->total_size -= output->string->size; list->first = output->next; output->prev = output->next = NULL; RETURN_{Tupper}_LIST_POP_FRONT: return output;