Produces a “promise” to evaluate expr. The expr is
not evaluated until the promise is forced through the force
operator; when the promise is forced, the result is recorded, so that
any further force of the promise always produces the
remembered value.