I think this is could be expanded a little, to explain a little more about why taking ownership is bad and why it's unnecessary.

> This definition will cause both lists to be moved into the function, so, if one wants to use the arguments again after a call to `eq`, one has to clone them for the call, which will require doing an expensive copy of both lists. However, all we really need to do to implement `eq` is examine the values contained in each node which does not require ownership, we can express this by making the function take *references*...

(Feel free to not use that at all, I'm not the best writer.)