Yeah... basically, it's to "finalize" removed nodes. The corresponding assertions are scattered inside `Range` I guess. The problem was that a removed range still pointed to the DList's chain, and sometimes, we could accidently "reenter" while iterating. This null termination is not necessary, but helps catch wrong usage.

Added comments.