macro_rules! option_enum_unwrap {
    ($ex: expr, $Enum: path $(,)*) => { ... };
    ($ex: expr, $Enum: path :( $Cons: path :(_) ) $(,)*) => { ... };
    ($ex: expr, $Enum: path :( $Cons: path :( $Cons2: path :(_) ) ) $(,)*) => { ... };
    ($ex: expr, $Enum: path {$($fields: ident $(,)*)*}) => { ... };
}