always test for basestring on `isinstance` -- otherwise unicode strings will get dropped...