shouldn’t be allowed to change method requirements any more then you can change methods if a class has already been closed.
Okay, this is going to be kinda long here …

So the issue is that Devel::BeginLift is not terribly stable and the recommended replacement is Memoize::Lift, which really does not do what I want. When digging in the guts of Memoize::Lift, I realised that it really is just using the Keyword-API under the hood to have the arguments executed at compile time. So my initial thought was “lets just replace the current Devel::BeginLift stuff with a custom Keyword-API $thing”, which seemed sensible at the time. Then I thought about this a little and realised that any solution that involves using the Keyword-API needs to be punted into the “syntax” layer, so I needed to think about how to do this in straight Perl. 

This commit is the result of that thinking.