// idea might be to create an ArtiPathError { path: ArtiPath, kind: ArtiPathErrorKind } error type
pub fn extra_info(&mut self, key: impl Into<String>, value: impl Into<String>) -> &mut Self {
/// | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
/// | `**` | Matches zero or more characters, including path separators. Must match a complete path segment (i.e. followed by a `/` or the end of the pattern). |
/// | `[ab]` | Matches one of the characters contained in the brackets. Character ranges, e.g. `[a-z]` are also supported. Use `[!ab]` or `[^ab]` to match any character _except_ those contained in the brackets. |
/// | `{a,b}` | Matches one of the patterns contained in the braces. Any of the wildcard characters can be used in the sub-patterns. Braces may be nested up to 10 levels deep. |
/// | `!` | When at the start of the glob, this negates the result. Multiple `!` characters negate the glob multiple times. |
/// If you are deriving [`DefaultKeySpecifier`](crate::derive_deftly_template_KeySpecifier) for a
/// If you are implementing [`KeySpecifier`] and [`KeyPathInfoExtractor`] manually rather than by