Maps a tuple of Node handles to the tuple of value types
they carry — the inverse of Node<T> over a tuple. Powers the
observer signature for Graph.subscribeMany: an observer
registered for [Node<number>, Node<string>, Node<boolean>]
receives [number, string, boolean] at fire-time.
Implemented as a recursive mapped type rather than infer-based
because the latter is brittle under readonly tuples. The shape
preserves the input tuple's positions, so call sites get the same
tuple back as a value-type tuple — no name-based lookup, no
dictionary intermediate.
Maps a tuple of Node handles to the tuple of value types they carry — the inverse of
Node<T>over a tuple. Powers the observer signature for Graph.subscribeMany: an observer registered for[Node<number>, Node<string>, Node<boolean>]receives[number, string, boolean]at fire-time.