a more correct likely_is_string implementation