anchor.diff:      member self.Behave(b:Behavior) =
           _behaviors <- b :: _behaviors
   
  +    // Use a promise computation expression to iterate
  +    // through the behaviors as if they were synchronous
       member self.Update(dt: float) = promise {
           let behaviors = _behaviors
           _behaviors <- []
  
positive.code: 
  type Easing = Func<float, float, float, float, float>
  
  type Behavior = Func<ESprite, float, Promise<bool>>
  
  and ESprite(t:Texture, id: string, behaviors: Behavior list) =
  
negative.code:         return xs }
      |> Promise.iter(fun sprites ->
          render()
          Browser.window.requestAnimationFrame(fun dt ->
              animate sprites render dt) |> ignore)
  
  let createSprite texture stageW stageH id =
      // Behaviors
  