** This is a question relating to TypeScript ^4.1 ** I have a recursive linked-list type. interface ListNode { value: string; next: ListNode | undefined; } Here's an example of a type-level instance. type RootNode = { value: "a"; next: { value: "b"; next: { v...