a generic linked list.