Prototype Dlist rewrite with cursor

I can't find anywhere in the docs, or get anyone to corroborate this understanding of &mut as enforcing noalias. As such I'm forced to conclude this is defined behaviour.

CC https://github.com/rust-lang/rust/issues/19733