Understanding the `[TypeId]` in TypeScript's Structural Type System

Hi, I'm following Reimagining ContentLayer with Effect series and got a question regarding Document.Proto interface part - it goes like this
export declare namespace Document {
  export interface Proto<in out Fields> extends Pipeable {
    readonly [TypeId]: VarianceStruct<Fields>
  }
}

I get variance part, but not [TypeId] thing - I suspect it's something to do with TS being structural type system, not nominal?
Was this page helpful?