Thank you for your review.
I think having two neighbor cache entries per neighbor at most is enough for most cases. That is, one is for a link-local address and the other is for a global scope address. I'll think how to implement that.
Regarding documents and comments, I totally agree. I'll add texts there.