fixed deep subassign bugs