more of list is implemented, but...

neeed to swap out owned/moved pointers for borrowed pointers in the head
and tail methods. This way you can point back to the original list
without it getting destroyed.