pub fn handle<'a, 'b, 'c, T, H>( program_id: &'a Pubkey, accounts: &'b [AccountInfo], instruction_data: &'c [u8], handler: H, ) -> Result<(), Error>where H: Handler<'a, 'b, 'c, T>,