anchor.diff:      // Using a completer ensures the correct updating order: source of truth
       // (_storageArea) first, cache (_map) second.
       var completer = new Completer();
  -    _storageArea.remove(keys).then((Map<String, String> map) {
  +    _storageArea.remove(keys).then((Map map) {
         keys.forEach((key) => _map.remove(key));
         completer.complete();
       });
  
positive.code:    * Set the value for the given key. The returned [Future] has the same value
     * as [value] on success.
     */
    Future<String> setValue(String key, String value) {
      if (value == null) {
        return removeValue([key]);
      } else {
  
negative.code:   /**
     * Get the value for the given key. The value is returned as a [Future].
     */
    Future<dynamic> getValue(String key, [dynamic defaultVal]);
  
    /**
     * Set the value for the given key. The returned [Future] has the same value
  