Set - это множество. Как с его помощью запилить бинарное дерево, непонятно.
По приведенному коду: в конструктор следует добавить функцию сравнения
constructor(
private compare: (x: T, y: T) => number,
public root: TreeNode<T> = null
) {}
по аналогии с обычной сортировкой массива