macro_rules! verify_value {
    (match, $self:ident, $expected:ident, $value:ident, $span:ident) => { ... };
    (match_exact, $self:ident, $expected:ident, $value:ident, $span:ident) => { ... };
    (just_promote $self:ident, $expected:ident, $value:ident, $span:ident) => { ... };
}