anchor.diff:      return postProcessing(res);
     }
   
  -  List get fields {
  -    if(serializer.fields.isEmpty && serializer.custom.isEmpty){
  -      ClassMirror cm = reflect(model).type;
  -      return cm.variables.keys.toList()..addAll(cm.getters.keys);
  -    } else {
  -      return serializer.custom.keys.toList()..addAll(serializer.fields);
  -    }
  -  }
  -}
  +  readFromSerializer(String field) => serializer.custom[field](model);
   
  -class _SyncSerializer extends _BaseSerializer {
  -  _SyncSerializer(model, serializer) : super(model, serializer);
  +  readFromModel(String field) {
  +    var value = deprecatedFutureValue(reflect(model).getFieldAsync(new Symbol(field)));
   
  -  readFromSerializer(field) => serializer.custom[field](model);
  -
  -  readFromModel(field) {
  -    var value = deprecatedFutureValue(reflect(model).getField(field));
  -    if (value is AsyncError) {
  +    if (value is MirroredCompilationError) {
         throw new SerializerConfigurationError(model, field);
       }
       return value.reflectee;
  
positive.code:     });
  
    pairs() =>
      fields.map((field) => serializerOverrides(field) ? readFromSerializer(field) : readFromModel(field));
  
    readFromSerializer(field) =>
      new Future.immediate([field, serializer.custom[field](model)]);
  
    readFromModel(field) =>
      reflect(model).
        getField(field).
        then((v) => [field, v.reflectee]).
        catchError((e){throw new SerializerConfigurationError(model, field);});
  }
  
negative.code:     return serializer.postProcessing(withRoot, model);
    }
  
    List<String> get fields {
      if(serializer.fields.isEmpty && serializer.custom.isEmpty){
        ClassMirror cm = reflect(model).type;
        var variables = cm.variables.values.toList()..addAll(cm.getters.values);
        return variables.map((_) => MirrorSystem.getName(_.simpleName)).toList();
      } else {
        return serializer.custom.keys.toList()..addAll(serializer.fields);
      }
    }
  }
  
  class _SyncSerializer extends _BaseSerializer {
    _SyncSerializer(model, serializer) : super(model, serializer);
  
    serialize(){
      var res = fields.fold({}, (Map res, String field) {
        if (serializerOverrides(field)) {
          res[field] = readFromSerializer(field);
        } else {
          res[field] = readFromModel(field);
  