anchor.diff:  
       type NodeDispatcher () =
           inherit EntityDispatcher ()
  +
  +        static member IntrinsicFacetNames =
  +            [typeof<NodeFacet>.Name]
  +
  +    type [<AbstractClass>] NodeDispatcher<'model, 'message, 'effect> (propertyFn) =
  +        inherit EntityDispatcher<'model, 'message, 'effect> (propertyFn)
   
           static member IntrinsicFacetNames =
               [typeof<NodeFacet>.Name]
  
positive.code:             | None -> Constants.Engine.DefaultEntitySize
  
  [<AutoOpen>]
  module EntityDispatcherModule =
  
      type [<AbstractClass>] EntityDispatcher<'model, 'message, 'effect>
          (propertyFn : Entity -> PropertyTag<'model, World>) =
          inherit EntityDispatcher ()
  
          override this.Register (entity, world) =
              let property = propertyFn entity
              let bindings = this.Binding (entity, world)
              let world =
                  List.fold (fun world binding ->
                      match binding with
                      | Message binding ->
                          Stream.monitor (fun evt world ->
                              let model = property.Get world
                              let messageOpt = binding.MakeValueOpt evt
                              match messageOpt with
                              | Some message ->
                                  let (model, effect) = this.Message (message, model, entity, world)
                                  let world = property.Set model world
                                  effect world
                              | None -> world)
                              entity binding.Stream world
                      | Effect binding ->
                          Stream.monitor (fun evt world ->
                              let model = property.Get world
                              let messageOpt = binding.MakeValueOpt evt
                              match messageOpt with
                              | Some message -> this.Effect (message, model, entity, world)
                              | None -> world)
                              entity binding.Stream world)
                      world bindings
              let model = property.Get world
              let world = this.View (Initialize, model, entity, world)
              world
              
          override this.Unregister (entity, world) =
              let property = propertyFn entity
              let model = property.Get world
              let world = this.View (Finalize, model, entity, world)
              world
  
          override this.Actualize (entity, world) =
              let property = propertyFn entity
              let model = property.Get world
              this.View (Actualize, model, entity, world)
  
          abstract member Binding : Entity * World -> Binding<'message, 'effect, Entity, World> list
          abstract member Message : 'message * 'model * Entity * World -> 'model * (World -> World)
          abstract member Effect : 'effect * 'model * Entity * World -> World
          abstract member View : ViewPhase * 'model * Entity * World -> World
  
  [<AutoOpen>]
  module LayerDispatcherModule =
  
      type [<AbstractClass>] LayerDispatcher<'model, 'message, 'effect>
  
negative.code:             entity.GetCelSize world
  
  [<AutoOpen>]
  module EntityDispatcherModule =
  
      type [<AbstractClass>] EntityDispatcher<'model, 'message, 'effect>
          (propertyFn : Entity -> PropertyTag<'model, World>) =
          inherit EntityDispatcher ()
  
          override this.Register (entity, world) =
              let property = propertyFn entity
              let bindings = this.Binding (entity, world)
              let world =
                  List.fold (fun world binding ->
                      match binding with
                      | Message binding ->
                          Stream.monitor (fun evt world ->
                              let model = property.Get world
                              let messageOpt = binding.MakeValueOpt evt
                              match messageOpt with
                              | Some message ->
                                  let (model, effect) = this.Message (message, model, entity, world)
                                  let world = property.Set model world
                                  effect world
                              | None -> world)
                              entity binding.Stream world
                      | Effect binding ->
                          Stream.monitor (fun evt world ->
                              let model = property.Get world
                              let messageOpt = binding.MakeValueOpt evt
                              match messageOpt with
                              | Some message -> this.Effect (message, model, entity, world)
                              | None -> world)
                              entity binding.Stream world)
                      world bindings
              let model = property.Get world
              let world = this.View (Initialize, model, entity, world)
              world
              
          override this.Unregister (entity, world) =
              let property = propertyFn entity
              let model = property.Get world
              let world = this.View (Finalize, model, entity, world)
              world
  
          override this.Actualize (entity, world) =
              let property = propertyFn entity
              let model = property.Get world
              this.View (Actualize, model, entity, world)
  
          abstract member Binding : Entity * World -> Binding<'message, 'effect, Entity, World> list
          abstract member Message : 'message * 'model * Entity * World -> 'model * (World -> World)
          abstract member Effect : 'effect * 'model * Entity * World -> World
          abstract member View : ViewPhase * 'model * Entity * World -> World
  
  [<AutoOpen>]
  module ImperativeDispatcherModule =
  
      type ImperativeDispatcher () =
          inherit EntityDispatcher ()
          interface Imperative
  
      type [<AbstractClass>] ImperativeDispatcher<'model, 'message, 'effect> (propertyFn) =
          inherit EntityDispatcher<'model, 'message, 'effect> (propertyFn)
          interface Imperative
  
  [<AutoOpen>]
  module EffectDispatcherModule =
  
  