anchor.diff:  
     /// Sets the properties of an entity model object based on an [Entity] object and
     /// returns the entity model object.
  -  T fromEntity(Entity source, T target) {
  +  T fromEntity(Entity source, [T target]) {
  +    if (target == null) target = modelFactory();
       InstanceMirror im = reflect(target);
       Key key = source.key;
       PropertyAccessor keyAccessor = _key.accessor;
  
positive.code: class EntityBridge<T> {
    /// Constructs or returns a cached [EntityBridge] object based on
    /// the type parameter [T].
    factory EntityBridge() {
      return new EntityBridge<T>.fromClass(T);
    }
  
    /// Constructs an entity mapper object based on [type].
    ///
    /// Uses an internal cache of [EntityBridge] objects.
    factory EntityBridge.fromClass(Type type) {
      EntityBridge<T> result = _cachedBridges[type];
      if (result != null) return result;
      result = new EntityBridge.uniqueFromClass(type);
      _cachedBridges[type] = result;
      return result;
    }
  
negative.code: import "../datastore/key.dart";
  import "../datastore/query.dart";
  
  typedef T ModelFactory<T>();
  
  /// Maps entity model objects of a certain type to [Entity] objects and back.
  ///
  /// The type parameter [T] must be the same class that is passed to the constructor
  