*{$whence."::do_cached"} = sub {
my ($self, $codeblock,$arg) = @_;
my $key = 0+$codeblock; if ($arg) { $key .=":".encode_base64(freeze(\$arg)); }
*{$whence."::do_cached"} = sub {
my ($self, $codeblock,$arg) = @_;
my $key = 0+$codeblock; if ($arg) { $key .=":".encode_base64(freeze(\$arg)); }