anchor.diff:  
     @override
     Left<S, U> map<U>(Function1<T, U> f) => new Left<S, U>(value);
  +
  +  @override
  +  Either<T, S> swap() => new Right(value);
   
     @override
     String toString() => 'Left{value: $value}';
  
positive.code:   Either<S, U> map<U>(Function1<T, U> f) => new Right<S, U>(f(value));
  
    @override
    String toString() => 'Right{value: $value}';
  }
  
negative.code: abstract class Either<S, T> extends Monad<T> {
    /// The wrapped value. An instance of [S] for [Left] of [T] for [Right].
    dynamic /*S | T*/ get value;
  
    Either<T, S> swap();
  }
  
  /// Left set, usually denotes the absence of a value, e.g. en error message.
  