support ... in destruct