shouldCall now also handles empty argument

Which allows us to not write redundant functions when we don't need to check results(for example when there is no results at all).