Making It Lazy: never evaluate anything more than once - Code BEAM STO 2018