Gotchas with lazy evaluation

Lazy evaluation can be a really useful thing.  It means that code won't get executed unless it actually needs to be.  So in other words you »