/// Returns `None`, or `Some` of a non-empty string.
pubfnnon_empty_string(s:&str)->Option<&str>{if s.is_empty(){None}else{Some(s)}}/// Like `split_first` but for `&str`.
pubfnsplit_first_str(s:&str)->Option<(char, &str)>{letmut chars = s.chars();
chars.next().map(|c|(c, chars.as_str()))}