
		const node = parseNode(ctx)

		const bound = this.bindReference(node)

		return (nodesByRegisteredId[ctx.id] = bound) as never
	}

	parse = (def: unknown, opts: BaseParseOptions = {}): BaseRoot =>
		this.finalize(this.parseDefinition(def, opts))

	parseDefinition(def: unknown, opts: BaseParseOptions = {}): BaseRoot {
		if (hasArkKind(def, "root")) return this.bindReference(def)
319:		this.schema(defs.map(def => this.parse(def))) as never
323:			(node, def) => node.and(this.parse(def)),
329:			(node, def) => node.merge(this.parse(def)),
