anchor.diff:          [
               "origin" => getSetVal chained (selectionCallback Float2T)
               "on"     => (DragEvent?``type`` ^-> (O ^-> O)) + chained (DragEvent?``type`` * (O ^-> O)?listener)
  +            "container" => getSetVal chained TSelf
  +            "filter" => getSetVal chained TSelf
  +            "touchable" => getSetVal chained TSelf
  +            "subject" => getSetVal chained TSelf
  +            "clickDistance" => getSetVal chained TSelf
           ]
   
       let ZoomEvent =
  
positive.code:             "x"     => getSetVal chained (Obj ^-> Float)
              "y"     => getSetVal chained (Obj ^-> Float)
              "extent" => getSetVal chained Float2x2T
          ]
  
      let PolygonClass =
  
negative.code:                 "separation" => getSetVal chained (ClusterNode * ClusterNode ^-> Int)
                  "value"      => getSetVal chained (Obj ^-> Float)
              ]
              @ propF2 TSelf "nodeSize"
              @ propF2 TSelf "size"
  
      let ForceNode =
          DefineRecord "ForceNode" [
  