anchor.diff:                                  |> Seq.toList
                           match nearbyRay with
                               | [] -> ()
  -                            | (p,bestPosition,d)::_ when d < Double.MaxValue && not !state.dragging -> 
  +                            | (p,bestPosition,d) :: _ when d < Double.MaxValue && not !state.dragging -> 
                                   yield fun () -> 
                                       Mod.change state.hoverPosition (Some (p, bestPosition)) 
                               | _ -> 
  
positive.code:                     for p in appState.polygons do
                          let lines = 
                              Mod.custom (fun self -> 
                                  let positions = (p.UnsafeInner :> IMod<_>).GetValue self
                                  let lines = List.foldBack (fun (x:pmod<_>) s -> (x.UnsafeInner :> IMod<_>).GetValue self :: s) positions [] |> List.toArray
                                  Helpers.lineLoopGeometry C4b.White lines
                           )
                          yield Sg.dynamic lines
  
negative.code: 
              win.Mouse.Click.Values.Subscribe(fun c ->
                  match c with 
                   | MouseButtons.Left  -> 
                      interactGit (camPick |> Mod.force |> Option.map V3f.op_Explicit |> Option.get |> AddPoint) 
                   | MouseButtons.Right -> 
                      interactGit ClosePolygon 
                   | MouseButtons.Middle -> 
                      interactGit <| ToggleMoving
                   | _ -> ()
              ) |> ignore
  
  