Why the switch to using a block to check the arg?