I liked `table()` for this because it retained the names of the duplicated columns to pass to the user in the `response_message`.

But I like your `duplicated` suggestion better.  Is the following what you had in mind?  Replacing
```
  tabled_values <- table(names(x))
  duplicated_names <- names(tabled_values[tabled_values>1])
```
with
```
  duplicated_names <- names(x)[duplicated(names(x))]
```

I'm committing this now.  It will travis another chance to retest the package.  It failed a few minutes ago because of one of the recent linear speedup tests, which I think is unrelated to any of these changes: https://travis-ci.org/hadley/plyr#L768