anchor.diff:                  struct (violation, world)
           | Some violation -> struct (violation, world)
   
  +    let evalGetMousePosition2dBinding fnName exprs originOpt world =
  +        let struct (evaleds, world) = World.evalManyInternal exprs world
  +        match Array.tryFind (function Scripting.Violation _ -> true | _ -> false) evaleds with
  +        | None ->
  +            match evaleds with
  +            | [||] -> getMousePosition2d world
  +            | _ ->
  +                let violation = Scripting.Violation (["InvalidBindingInvocation"], "Incorrect number of arguments for binding '" + fnName + "' at:\n" + SymbolOrigin.tryPrint originOpt, None)
  +                struct (violation, world)
  +        | Some violation -> struct (violation, world)
  +
       let evalIsKeyboardKeyDownBinding fnName exprs originOpt world =
           let struct (evaleds, world) = World.evalManyInternal exprs world
           match Array.tryFind (function Scripting.Violation _ -> true | _ -> false) evaleds with
  
positive.code:                 struct (violation, world)
          | Some violation -> struct (violation, world)
  
      let evalIsMouseButtonDownBinding fnName exprs originOpt world =
          let struct (evaleds, world) = World.evalManyInternal exprs world
          match Array.tryFind (function Scripting.Violation _ -> true | _ -> false) evaleds with
  
negative.code:              ("renameEntity", { Fn = evalRenameEntityBinding; Pars = [|"source"; "destination"|]; DocOpt = None })
               ("trySetEntityOverlayNameOpt", { Fn = evalTrySetEntityOverlayNameOptBinding; Pars = [|"overlayNameOpt"; "entity"|]; DocOpt = None })
               ("trySetEntityFacetNames", { Fn = evalTrySetEntityFacetNamesBinding; Pars = [|"facetNames"; "entity"|]; DocOpt = None })
               ("getEyePosition3d", { Fn = evalGetEyePosition3dBinding; Pars = [||]; DocOpt = None })
               ("setEyePosition3d", { Fn = evalSetEyePosition3dBinding; Pars = [|"value"|]; DocOpt = None })
               ("getEyeRotation3d", { Fn = evalGetEyeRotation3dBinding; Pars = [||]; DocOpt = None })
               ("setEyeRotation3d", { Fn = evalSetEyeRotation3dBinding; Pars = [|"value"|]; DocOpt = None })
               ("getEyeProjection3d", { Fn = evalGetEyeProjection3dBinding; Pars = [||]; DocOpt = None })
               ("setEyeProjection3d", { Fn = evalSetEyeProjection3dBinding; Pars = [|"value"|]; DocOpt = None })
               ("getEyePosition2d", { Fn = evalGetEyePosition2dBinding; Pars = [||]; DocOpt = None })
               ("setEyePosition2d", { Fn = evalSetEyePosition2dBinding; Pars = [|"value"|]; DocOpt = None })
               ("getEyeSize2d", { Fn = evalGetEyeSize2dBinding; Pars = [||]; DocOpt = None })
               ("getEyeMargin2d", { Fn = evalGetEyeMargin2dBinding; Pars = [||]; DocOpt = None })
               ("setEyeSize2d", { Fn = evalSetEyeSize2dBinding; Pars = [|"value"|]; DocOpt = None })
               ("getEyeBounds2d", { Fn = evalGetEyeBounds2dBinding; Pars = [||]; DocOpt = None })
               ("getOmniScreenOpt", { Fn = evalGetOmniScreenOptBinding; Pars = [||]; DocOpt = None })
               ("setOmniScreenOpt", { Fn = evalSetOmniScreenOptBinding; Pars = [|"value"|]; DocOpt = None })
               ("getOmniScreen", { Fn = evalGetOmniScreenBinding; Pars = [||]; DocOpt = None })
               ("setOmniScreen", { Fn = evalSetOmniScreenBinding; Pars = [|"value"|]; DocOpt = None })
               ("getSelectedScreenOpt", { Fn = evalGetSelectedScreenOptBinding; Pars = [||]; DocOpt = None })
               ("constrainEyeBounds2d", { Fn = evalConstrainEyeBounds2dBinding; Pars = [|"bounds"|]; DocOpt = None })
               ("getSelectedScreen", { Fn = evalGetSelectedScreenBinding; Pars = [||]; DocOpt = None })
               ("setSelectedScreen", { Fn = evalSetSelectedScreenBinding; Pars = [|"value"|]; DocOpt = None })
               ("getViewBoundsRelative2d", { Fn = evalGetViewBoundsRelative2dBinding; Pars = [||]; DocOpt = None })
               ("getViewBoundsAbsolute2d", { Fn = evalGetViewBoundsAbsolute2dBinding; Pars = [||]; DocOpt = None })
               ("getViewBounds2d", { Fn = evalGetViewBounds2dBinding; Pars = [|"absolute"|]; DocOpt = None })
               ("isBoundsInView2d", { Fn = evalIsBoundsInView2dBinding; Pars = [|"absolute"; "bounds"|]; DocOpt = None })
               ("mouseToScreen2d", { Fn = evalMouseToScreen2dBinding; Pars = [|"mousePosition"|]; DocOpt = None })
               ("mouseToWorld2d", { Fn = evalMouseToWorld2dBinding; Pars = [|"absolute"; "mousePosition"|]; DocOpt = None })
               ("mouseToEntity2d", { Fn = evalMouseToEntity2dBinding; Pars = [|"absolute"; "entityPosition"; "mousePosition"|]; DocOpt = None })
               ("getImperative", { Fn = evalGetImperativeBinding; Pars = [||]; DocOpt = None })
               ("getStandAlone", { Fn = evalGetStandAloneBinding; Pars = [||]; DocOpt = None })
               ("getCollectionConfig", { Fn = evalGetCollectionConfigBinding; Pars = [||]; DocOpt = None })
  