anchor.diff:     *
      * The returned [Iterable] is lazy, and calls [f] for each element
      * of this every time it's iterated.
  +   *
  +   * Example:
  +   *
  +   *     var pairs = [[1, 2], [3, 4]];
  +   *     var flattened = pairs.expand((pair) => pair).toList();
  +   *     print(flattened); // => [1, 2, 3, 4];
  +   *
  +   *     var input = [1, 2, 3];
  +   *     var duplicated = input.expand((i) => [i, i]).toList();
  +   *     print(duplicated); // => [1, 1, 2, 2, 3, 3]
  +   *
      */
     Iterable/*<T>*/ expand/*<T>*/(Iterable/*<T>*/ f(E element)) =>
         new ExpandIterable<E, dynamic/*=T*/>(this, f);
  
positive.code:     E result;
      do {
        result = it.current;
      } while(it.moveNext());
      return result;
    }
  
  
negative.code:     }
      return false;
    }
  
    /**
     * Applies the function [f] to each element of this collection in iteration
  