syntax_data: {"ast_node_type":"variable","tokens":[{"end":47,"kind":"keyword","start":0,"text":"if"}]}
source_snippet:     if let syn::Data::Union(_) = s.ast().data {
context_before: fn lift_derive(mut s: synstructure::Structure<'_>) -> proc_macro2::TokenStream {
context_after:         panic!("cannot derive on union")