intersection_assign between nodes is replaced by concatenate_assign for efficiency