It looks like the reason we store `_lastNode` is to optimize `_appendNode()` (preventing it from having to walk the list every time it is called). Is this optimization worth the extra storage space required? I don't have a big problem with this, I'm more just interested in your thinking.