macro_rules! impl_is {
    ($variant:ident,$type_name:ty, $is_name:ident,$as_name:ident,$as_mut_name:ident,$opt_name:ident,$expect_name:ident) => { ... };
}