How to... PolyNode The base building block: one struct field gives a type tag identity and lets you recover the typed pointer later. Define a PolyNode type Ownership transfer via Slot Tag-dispatch consume loop Builder pattern Produce-consume with defer cleanup