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