Defer is a type of Eval that is used to defer computations which produce Eval.
Users should not instantiate Defer instances themselves. Instead, they will be automatically created when needed.