Gets an item from the free list.
new item, will only be evaluated in the case when no items are available in the free list
new item (either popped from free list or new_item)
See Implementation
Gets an item from the free list.