short-circuit empty input