withHeldRow(heldRow, heldGateOffset) {
        return new Hand(this.pos, undefined, heldGateOffset, undefined, heldRow, undefined);
    }
@param {!{initialState: *, gates: !Array.<undefined|!Gate>}} heldRow
@param {!Point} heldGateOffset
@returns {!Hand}