fixed d_assign().  Tests now pass.  Still needs rewrite / split overwrite-handling code from d_assign and make a separate function