fallible Fold
```rust pub trait TryFold { type Error;
fn try_fold_abi(&mut self, t: syn::Abi) -> Result<syn::Abi, Self::Error>
{
try_fold_abi(self, t)
}
// ...
} ```
fallible take (like fold but without return new value)
```rust pub trait TryTake { type Error;
fn try_take_abi(&mut self, t: syn::Abi) -> Result<(), Self::Error> {
try_take_abi(self, t)
}
// ...
} ```