code: function assertEqual (val, msg) {
      if (msg) flag(this, 'message', msg);
      var obj = flag(this, 'object');
      if (flag(this, 'deep')) {
        return this.eql(val);
      } else {
        this.assert(
            val === obj
          , 'expected #{this} to equal #{exp}'
          , 'expected #{this} to not equal #{exp}'
          , val
          , this._obj
          , true
        );
      }
    }
docs: ### .equal(value)
  
  Asserts that the target is strictly equal (`===`) to `value`.
  Alternately, if the `deep` flag is set, asserts that
  the target is deeply equal to `value`.
  
  expect('hello').to.equal('hello');
  expect(42).to.equal(42);
  expect(1).to.not.equal(true);
  expect({ foo: 'bar' }).to.not.equal({ foo: 'bar' });
  expect({ foo: 'bar' }).to.deep.equal({ foo: 'bar' });
  
  @name equal
  @alias equals
  @alias eq
  @alias deep.equal
  @param {Mixed} value
  @param {String} message _optional_
  @api public