don't break on vectors with other attributes like 'class'

Generic vectors with any attributes other than "names" will break (e.g. `I(list())`). This patch makes sure they don't , but see FIXME comments inside - ideally, names should be handled properly by looking for the "names" attribute.