ERC-7746: Composable Security Middleware Hooks

I have authored this a while ago, however decided not to move it further last call watching that new solidity upgrade promises at some point to have generics, and lack of generics was major friction in adapting this proposal by many whom I spoke with.

Im less enaged with solidity nowdays, but would love to finalize this. Can anyone suggest or perhaps PR in to ERCs (happy to add as co-author) how best to align it with future of Solidity capabilities?

Ideally, we want to get rid of needs to do fragile abi.encode abi.decode for calldatas and instead define generic types that can be compile / runtime validated.

thx