constructor(message, context, opts, metadata) {
		super(message, opts);

		this.context = Array.isArray(context) ? context : [context ?? ''];
		if (!context) this.context = /** @type {string[]} */ ([]);
		this.#metadata = metadata;
		if (!Array.isArray(this.context)) this.context = [];
	}
@param {string} message
@param {string[] | string} [context]
@param {ErrorOptions} [opts]
@param {any} [metadata]