compare yield vs block.call