anchor.diff:      let search p r = filter p ^^ head r
       let choose r = filter (fun o _ -> Option.isSome o) r
       let mapi r = augment (fun i _ -> i + 1) 0 r
  -    let max r = scan2 (fun u v _ -> if u < v then v else u) r
  -    let min r = scan2 (fun u v _ -> if v < u then v else u) r
  -    let distinct r = organize ^^ map (fun v _ -> fst v) ^^ choose r
  -    //let pairwise r = track (fun o _ -> match o with Some v -> (v, true) | None ->  )
  +    let max r = scan2 (fun m n _ -> if m < n then n else m) r
  +    let min r = scan2 (fun m n _ -> if n < m then n else m) r
  +    let distinct r = organize ^^ map (fun a _ -> fst a) ^^ choose r
   
       (* Map Combinators *)
   
  
positive.code:             let state = World.getCallbackState key world
              let (state, tracked) = tracker state value world
              let world = World.addCallbackState key state world
              if tracked then reactor.Handler (plus state) world
              else (Propagate, world)
          Reactor.make reactor.ReactAddress handler unsubscriber world
  
  
negative.code: 
      let track4
          (tracker : 'c -> 'a -> World -> 'c * bool)
          (tranformer : 'c -> 'b)
          (state : 'c)
          (reactor : 'b Reactor) :
          'a Reactor =
  