It only allows one generic and doesn't allow you to use lifetimes. This should be easily fixable. I'm just a bad macro author.