pub trait Handler<'a, T> {
type Output: NoUninit;
// Required method
fn call(
self,
program_id: &Pubkey,
accounts: &mut &'a [AccountInfo],
instruction_data: &mut &'a [u8],
) -> Result<Self::Output, Error>;
}