of

fun of(pathParts: List<A12PathPart>): A12Pointer

The one construction path, and the counterpart of DocumentPointer.of(List<PathPart>): it enforces that factory's rule and only that one — the position rule over already-valid parts. It does not impose the string codec's name grammar, because A12's own part-list factory does not (DocumentPointer.of(List.of(PathPart.of("a/b", 1))) is accepted and yields fullName /a/b). Snapshots, so no caller-owned list stays attached.