anchor.diff:      extends IterableBase<E>
       implements ReadSet<E> {
   
  -  ReadSet<E> operator +(ReadSet<E> persistentSet) =>
  -      union(persistentSet);
  +  ReadSet<E> operator +(ReadSet<E> other) =>
  +      union(other);
   
  -  ReadSet<E> operator -(ReadSet<E> persistentSet) =>
  -      difference(persistentSet);
  +  ReadSet<E> operator -(ReadSet<E> other) =>
  +      difference(other);
   
  -  ReadSet<Pair> operator *(ReadSet persistentSet) =>
  -      cartesianProduct(persistentSet);
  +  ReadSet<Pair> operator *(ReadSet other) =>
  +      cartesianProduct(other);
   
     ReadSet strictMap(f(E element)) =>
         new PersistentSet.from(this.map(f));
  
positive.code: 
  part of persistent;
  
  abstract class ReadSet<E> implements Iterable<E> {
    
    ReadSet<E> union(ReadSet<E> persistentSet);
  
    /// Alias for [union].
    ReadSet<E> operator +(ReadSet<E> persistentSet);
  
    ReadSet<E> difference(ReadSet<E> persistentSet);
  
    /// Alias for [difference].
    ReadSet<E> operator -(ReadSet<E> persistentSet);
  
    ReadSet<Pair<E,dynamic>> cartesianProduct(ReadSet persistentSet);
  
    /// Alias for [cartesianProduct].
    ReadSet<Pair<E,dynamic>> operator *(ReadSet persistentSet);
  
    ReadSet<E> intersection(ReadSet<E> persistentSet);
  
    /// Randomly picks an element of [this].
    E pickRandomElement([Random random]);
  
negative.code:   /// A strict (non-lazy) version of [where].
    ReadSet<E> strictWhere(bool f(E element));
    
    /// Returns any [PersistentSet] with same content as `this`.
    PersistentSet<E> asPersistent();
    
    // TODO(syslo) Fix to satisfy the documentation
    /// Returns a new [TransientSet] with same content as `this`.
    TransientSet<E> asTransient();
  }
  
  /**
   * A persistent set, unordered collection of distinct elements of type [E].
   *
   * Persistent data structure is an immutable structure, that provides effective
   * creation of slightly mutated copies.
   */
  abstract class PersistentSet<E> implements ReadSet<E> {
  
    /// Creates an empty [PersistentSet] using its default implementation.
  