export function* InOrderIterator( root: T | null, ): Generator { if (!root) { return; } yield* InOrderIterator(root.left); yield root; yield* InOrderIterator(root.right); }