you can't put the `return promising().reject()` line into a function, so you would still need an if-statement and also you need to pass the literal argument names, and the type to check against. so not much you can do. it would become something like

````js
    function mustBeOfType(value, argumentName, functionName, allowedTypes) {
      if(allowedTypes.indexOf(typeof(value)) == -1) {
        return 'Argument \'' + argumentName +' \' of baseclient.'
            + functionName + ' must be of type ' + allowedTypes.join(' or ');
      }
    }

    //...

    var msg = mustBeOfType(mimeType, 'mimeType', 'storeFile', ['string'])
      || mustBeOfType(path, 'path', 'storeFile', ['string'])
      || mustBeOfType(body, 'body', 'storeFile', ['string', 'object']);

    if(msg) {
      promising.reject(msg);
    }

i don't think that's an improvement. let's leave it like this, it's a bit repetitive, but at least it's simplistic. or can you think of a better way to do it?