Am I reading this wrong? I see:

fail IF args doesnt exist OR args is not an object OR *both* sku and id are not provided

that seems appropriate to me? they could pass args with one or the other, or both, but not neither?