Implementing methods over pseudocode

Issues to consider:
- casting Nodes to Contacts is annoying. Can I have a variable that points to a Contact that's always the right head / tail?