yield, do not eval