destruct: handle polymorphic variants
vim: minor bugfix for destruct