fix a bug with lazy evaluation causing begin to behave oddly.