sentinel = Node(value=None) # a dummy node that is never real data

 sentinel.next = sentinel # empty list points to itself

 function is_empty(list):
   return list.sentinel.next is list.sentinel
 # insert/delete code no longer needs a special case for "the list is empty"
