rem: WM_ITERATE_BAG(lPtr->items, item, i) { wfree(item->text); wfree(item); } WMFreeBag(lPtr->items);
add: WMFreeArray(lPtr->items);
context: destroyList(List *lPtr){    WMListItem *item;    WMBagIterator i;        if (lPtr->idleID) 	WMDeleteIdleHandler(lPtr->idleID);    lPtr->idleID = NULL;    WM_ITERATE_BAG(lPtr->items, item, i) {	wfree(item->text);	wfree(item);    }    WMFreeBag(lPtr->items);        wfree(lPtr);}