It looks like `forget` works on procedures with option 'cache'.
I realize that there is a routine Cache:-RemovePermanent. But should `forget` be clearing the permanent Cache entries for a procedure?
> cacheFunc := proc() option cache; print(args); args; end proc:
> Cache:-AddPermanent( cacheFunc, [5], 10 );
> op( 4, eval(cacheFunc) );
Cache(512, 'permanent' = [5 = 10])
> forget(cacheFunc);
> op( 4, eval(cacheFunc) ); # NULL return, it's empty