function excludeProps (res, obj) {
    Object.keys(obj).forEach(function (key) {
      if (!~excludes.indexOf(key)) res[key] = obj[key];
    });
  }
### .transferFlags(assertion, object, includeAll = true)

Transfer all the flags for `assertion` to `object`. If
`includeAll` is set to `false`, then the base Chai
assertion flags (namely `object`, `ssfi`, `lockSsfi`,
and `message`) will not be transferred.


    var newAssertion = new Assertion();
    utils.transferFlags(assertion, newAssertion);

    var anotherAsseriton = new Assertion(myObj);
    utils.transferFlags(assertion, anotherAssertion, false);

@param {Assertion} assertion the assertion to transfer the flags from
@param {Object} object the object to transfer the flags to; usually a new assertion
@param {Boolean} includeAll
@namespace Utils
@name transferFlags
@api private