pub(crate) fn bitfield_impl(ast: &DeriveInput) -> Result<TokenStream>