function Op(fn, len, val) {

    /**
     * Function to call.
     * @type {function(Uint8Array, number, *)}
     */
    this.fn = fn;

    /**
     * Value byte length.
     * @type {number}
     */
    this.len = len;

    /**
     * Next operation.
     * @type {Writer.Op|undefined}
     */
    this.next = undefined;

    /**
     * Value to write.
     * @type {*}
     */
    this.val = val; // type varies
}
Constructs a new writer operation instance.
@classdesc Scheduled writer operation.
@constructor
@param {function(*, Uint8Array, number)} fn Function to call
@param {number} len Value byte length
@param {*} val Value to write
@ignore