Taken verbatim from the temporalKindOf switch at
packages/core/wasm/tagged-types.ts:163-172, which derives the kind
from value[Symbol.toStringTag] ("Temporal.PlainDate" → "PlainDate")
and returns undefined for anything else. The list is restated here
rather than imported because this module is the main-bundle public
vocabulary and must not pull the @causl/causl-wasm-ts/wasm subpath
into it (the barrel's leak-free rule, index.ts). The two lists are
held in step mechanically, not by convention: the source gate in
test/value-domain-open-270.test.ts reads tagged-types.ts and fails
if its switch and this union stop matching in either direction.
The
Temporal.*kinds the tagged-container bridge reconstructs.