pub(crate) fn fmap2_match<F, G>( input: &DeriveInput, bind_style: BindStyle, f: F, g: G, ) -> TokenStreamwhere F: FnMut(&BindingInfo<'_>) -> TokenStream, G: FnMut(&BindingInfo<'_>) -> Option<TokenStream>,