Holds lazy evaluation.
Evaluated when called or if the evaluate() method is called. The function is re-evaluated on every call.
Return true if the object is iterable (but not if object is a mapping or string).
Return list of one element if l is a scalar.