Softrefs and memoization is no longer relevant.

It might be interesting to add later. The idea was that with, for
example, lazy arrays, we can cache the array with a softref, and if we
run out of memory while iterating, ditch the array and just iterate.
But I just didn't see an actual use case for this -- by the time you
run out of memory, you're probably running for hours at a time, and
you're well past the point where _you_ should be the one optimizing,
not me.