Coercing to string can give a warning in some cases, consider is_string()