Prototype Dlist rewrite with cursor

I guess, at least internally.