In TreeMap's [Symbol.iterator]:
public [Symbol.iterator] ():Iterator<K> { return this.entrySet[Symbol.iterator](); }
The type of this.entrySet is a function, not an object of ImmutableEntrySetForTreeMap. So I think it should be defined like this:
public [Symbol.iterator]():Iterator<MapEntry<K, V>> { return this.entrySet()[Symbol.iterator](); }
Or there will get a ts(7053) error