It was confusing to see
tail... = undefined
in the struct definition and then
if (tail == null)
later in the exercise - it appears that the mismatch would be the issue
- but that's distracting from the real issue: making the value optional!
Changing the initial value to null is still correct, but won't distract.
The only worry now is that the user will remember the undefined
definition from the previous exercise and wonder if that has to be that
way...but you can't win them all!