constant::defer creates a subroutine which on the first call runs given
code to calculate its value, and on any subsequent calls just returns that
value, like a constant. The value code is discarded once run, allowing it
to be garbage collected.

Deferring a calculation is good if it might take a lot of work or produce
a big result but is only needed sometimes or only well into a program run.
If it's never needed then the value code never runs.

Homepage:
https://metacpan.org/release/constant-defer
