only_if wants a block