This may not want to introduce both `from_str` and `unwrap_or_default` at the same time, perhaps you could map it to `n.len()`?