anchor.diff:      assert(_future == null);
       assert(!_pending);
       _future = getFuture(_input);
  +    _future.handleException(_futureException);
       _future.then(_futureCompleted);
  +  }
  +
  +  bool _futureException(Object exception) {
  +    assert(_future != null);
  +    _future = null;
  +    _errorHandle.fireEvent(exception);
  +    _cleanup();
     }
   
     TInput _input;
  
positive.code: 
    final EventHandle<EventArgs> _outputChangedHandle;
    final EventHandle<EventArgs> _inputChangedHandle;
    final EventHandle _errorHandle;
  }
  
negative.code:   FutureValue()
    : _outputChangedHandle = new EventHandle<EventArgs>(),
    _inputChangedHandle = new EventHandle<EventArgs>(),
    _errorHandle = new EventHandle<Object>();
  
  
    TInput get input() => _input;
  