changed part to lazy to differentiate between lazy evaluation and partial application