AbstractWhether this wrapper still refers to a live engine object.
Reference equality is the identity test — prefer a === b. This is retained only for
the rare cross-realm case where two wrappers describe the same handle by value. Reads the
raw index so comparing a stale wrapper never throws.
A readable identity for logs and diagnostics, never [object Object].
The base for every wrapper the SDK hands out (a paragraph, run, table, comment, …). A wrapper stores nothing but a numeric handle into the wasm heap and a back-pointer to its host engine; every getter round-trips through the handle, so a read always reflects the current engine state and no document data is duplicated in JavaScript.
Wrappers are created once per handle and reused forever (see HandleCache), so reference equality is identity:
document.paragraph(3) === document.paragraph(3).A wrapper that outlives the thing it points at is poisoned, not silently wrong: reading the live Handle._index after invalidation throws StaleHandleError, and Handle.isValid reports the state cheaply so callers can check before use.