docs: function Violation ( assert, value, violation ) {
      if ( ! ( this instanceof Violation ) ) {
        return new Violation( assert, value, violation );
      }
  
      this.__class__ = 'Violation';
  
      if ( ! ( assert instanceof Assert || assert.__parentClass__ === 'Assert' ) )
        throw new Error( 'Should give an assertion implementing the Assert interface' );
  
      this.assert = assert;
      this.value = value;
  
      if ( 'undefined' !== typeof violation )
        this.violation = violation;
    }