anchor.diff:  
   /// Mutates `e.data` or `e.result` using the given [transformer].
   HookedServiceEventListener transform(transformer(obj)) {
  +  normalize(obj) {
  +    if (obj == null)
  +      return null;
  +    else if (obj is Iterable)
  +      return obj.map(normalize).toList();
  +    else
  +      return transformer(obj);
  +  }
  +
  +  return (HookedServiceEvent e) {
  +    if (e.isBefore) {
  +      e.data = normalize(e.data);
  +    } else
  +      e.result = normalize(e.result);
  +  };
   }
   
   /// Transforms `e.data` or `e.result` into an instance of the given [type],
  
positive.code:     }
  
      if (e.isBefore) {
        return e.data = normalize(e.data);
      } else
        e.result = normalize(e.result);
    };
  
negative.code:     }
  
      if (e.isBefore) {
        e.data = normalize(e.data);
      } else
        e.result = normalize(e.result);
    };
  