pub trait FromStaticStr { type Err; fn from_str(s: &'static str) -> Result where Self: Sized; }