e.g.
a = foo(1) // evaluates, caches and returns value b = foo(1) // returns cached value c = foo (1) // returns cached value is optimized to a = b = c = foo(1) // evaluates, caches and returns value
e.g.
a = foo(1) // evaluates, caches and returns value b = foo(1) // returns cached value c = foo (1) // returns cached value is optimized to a = b = c = foo(1) // evaluates, caches and returns value