protected override ImmSet <T> Intersect(ImmSet <T> other) { return(Root.Intersect(other.Root, Lineage.Mutable(), null).Wrap(EqualityComparer)); }
protected override ImmMap <TKey, TValue> Join(ImmMap <TKey, TValue> other, ValueSelector <TKey, TValue, TValue, TValue> collision = null) { return(_root.Intersect(other._root, Lineage.Mutable(), collision).WrapMap(_equality)); }