anchor.diff:    /**
      * Get the value for the given key. The value is returned as a [Future].
      */
  -  Future<String> getValue(String key, [dynamic defaultVal]) {
  +  Future<String> getValue(String key, [String defaultVal]) {
       if (_map.containsKey(key)) {
         return _map[key];
       } else {
         return _storageArea.get(key).then((Map<String, String> map) {
           // TODO(ussuri): Shouldn't we cache the just read value in _map?
  -        var val = map == null ? null : map[key];
  +        final String val = map == null ? null : map[key];
           return val != null ? val : defaultVal;
         });
       }
  
positive.code:   /**
     * Get the value for the given key. The value is returned as a [Future].
     */
    Future<String> getValue(String key, [dynamic defaultVal]);
  
    /**
     * Set the value for the given key. The returned [Future] has the same value
  
negative.code: 
    bool get isDirty => _dirty;
  
    Future<String> getValue(String key, [String defaultVal]) {
      final String val = _map[key];
      return new Future.value(val != null ? val : defaultVal);
    }
  
    Future<String> setValue(String key, String value) {
  