if we get a non-iterable, assume its a string and make it one
use a different message if everything checks out