wip: first compiling / running draft.  now we decide: reintroduce purity?
wip
wip
Port over DList to not just use @mut everywhere
Clean up dlist self types and so forth
borrowck: Correct handling of patterns / detect when patterns are in scope
Prevent spurious borrowck error
borrowck: Broaden assignment rule so that partial loans
and partial assignments do not combine to form an error