contains() for objc matches strings correctly.

Fixes #50.
This branch is executed if I pass in something that isn't an array, set, or string, correct? What does the failure message look like in this case? Does it make it clear to the user that it failed because of a type mismatch?