'Returns the head node and removes it from the list.'

def PopLeft(self):

    if (self.next is self):
        raise IndexError('Pop    from    empty    list.')
    first_node = self.next
    self.Unlink(first_node)
    return first_node
