anchor.diff:    final Object tag;
   }
   
  +/// Signature for a function that takes two [Rect] instances and returns a
  +/// [RectTween] that transitions between them.
  +///
  +/// This is typically used with a [HeroController] to provide an animation for
  +/// [Hero] positions that looks nicer than a linear movement. For example, see
  +/// [MaterialRectArcTween].
   typedef RectTween CreateRectTween(Rect begin, Rect end);
   
   class _HeroParty {
  
positive.code:   String toString() => '$_heroes';
  }
  
  class HeroController extends NavigatorObserver {
    HeroController({ CreateRectTween createRectTween }) {
      _party = new _HeroParty(
        onQuestFinished: _handleQuestFinished,
  
negative.code: import 'pages.dart';
  import 'transitions.dart';
  
  // TODO(ianh): Make the appear/disappear animations pretty. Right now they're
  // pretty crude (just rotate and shrink the constraints). They should probably
  // involve actually scaling and fading, at a minimum.
  
  // TODO(ianh): If the widgets use Inherited properties, they are taken from the
  // Navigator's position in the widget hierarchy, not the source or target. We
  