anchor.diff:              this._mapBindable.value = mapFunction;
               this._mappedChangeStream = this._input.changeStream.map(_mapChangeRecord);
               this._inputChanges = this._mappedChangeStream.listen(_onInputChange);
  +            this._basisInvalidationListener = this._input.invalidationStream.listen((c) =>
  +                this.invalidationController.add(true));
   
               this._mapBindable.changeStream.listen((c) {
                   this.listInstance.replaceRange(
  
positive.code: class MappedBindableList<T, O> extends FixedBindableList<T> {
      Stream<ChangeRecord> _mappedChangeStream;
      StreamSubscription<ChangeRecord> _inputChanges;
      final BaseBindableList<O> _input;
      Bindable<Function> _mapBindable = new Bindable((c) => null);
  
  
negative.code: /// function in BindableList.
  class ComputedMappedBindableList<T, O> extends MappedBindableList<T, O> {
      List<StreamSubscription> _subscribers = [];
      List<StreamSubscription> _invalidationSubscribers = [];
      List<Bindable> _mapInputs = [];
  
      /// Arguments to the map function are [mapItem, input1, input2, ...]
  