function TAP12Producer() {
    /**
     * Writes that test failed to reporter output stream, with error formatting.
     * @override
     */
    this.writeFail = function (n, test, err) {
      TAPProducer.prototype.writeFail.call(this, n, test, err);
      if (err.message) {
        println(err.message.replace(/^/gm, '  '));
      }
      if (err.stack) {
        println(err.stack.replace(/^/gm, '  '));
      }
    };
  }
@summary
Constructs a new TAP12Producer.

@description
Produces output conforming to the TAP12 specification.

@private
@constructor
@extends TAPProducer
@see {@link https://testanything.org/tap-specification.html|Specification}