list.c
void list_free(atom_t* obj) {
    if (obj) {
        safe_free(obj->val.list->items);  // free items
        safe_free(obj->val.list);         // free list
        safe_free(obj);                   // free object
    }
}
/*
--------------------------------------
list_free

    Deallocate list object, ignore items.
--------------------------------------
*/
list_free
Deallocate list object, ignore items.
list_free Deallocate list object ignore items .
void list_free(atom_t* obj) {
    if (obj) {
        safe_free(obj->val.list->items);  
        safe_free(obj->val.list);         
        safe_free(obj);                   
    }
}
void list_free ( atom_t * obj ) { if ( obj ) { safe_free ( obj -> val . list -> items ) ; safe_free ( obj -> val . list ) ; safe_free ( obj ) ; } }
list_free
Deallocate list object, ignore items.
list_free Deallocate list object ignore items .
// free items // free list // free object