function assertDecreases (object, prop, msg) {
    if (msg) flag(this, 'message', msg);
    var fn = flag(this, 'object');
    new Assertion(object, msg).to.have.property(prop);
    new Assertion(fn).is.a('function');

    var initial = object[prop];
    fn();

    this.assert(
      object[prop] - initial < 0
      , 'expected .' + prop + ' to decrease'
      , 'expected .' + prop + ' to not decrease'
    );
  }
### .decrease(function)

Asserts that a function decreases an object property

    var obj = { val: 10 };
    var fn = function() { obj.val = 5 };
    expect(fn).to.decrease(obj, 'val');

@name decrease
@alias decreases
@alias Decrease
@param {String} object
@param {String} property name
@param {String} message _optional_
@api public