moved details of list::tail into separate include file