anchor.diff:              let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'trySetEntityFacetNames' due to: " + scstring exn, None)
               struct (violation, World.choose oldWorld)
   
  +    let getEyePosition2d world =
  +        let oldWorld = world
  +        try
  +            let result = World.getEyePosition2d world
  +            let value = result
  +            let value = ScriptingSystem.tryImport typeof<Vector2> value world |> Option.get
  +            struct (value, world)
  +        with exn ->
  +            let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'getEyePosition2d' due to: " + scstring exn, None)
  +            struct (violation, World.choose oldWorld)
  +
  +    let setEyePosition2d value world =
  +        let oldWorld = world
  +        try
  +            let value =
  +                match ScriptingSystem.tryExport typeof<Vector2> value world with
  +                | Some value -> value :?> Vector2
  +                | None -> failwith "Invalid argument type for 'value'; expecting a value convertable to Vector2."
  +            let result = World.setEyePosition2d value world
  +            struct (Scripting.Unit, result)
  +        with exn ->
  +            let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'setEyePosition2d' due to: " + scstring exn, None)
  +            struct (violation, World.choose oldWorld)
  +
  +    let getEyeSize2d world =
  +        let oldWorld = world
  +        try
  +            let result = World.getEyeSize2d world
  +            let value = result
  +            let value = ScriptingSystem.tryImport typeof<Vector2> value world |> Option.get
  +            struct (value, world)
  +        with exn ->
  +            let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'getEyeSize2d' due to: " + scstring exn, None)
  +            struct (violation, World.choose oldWorld)
  +
  +    let getEyeMargin2d world =
  +        let oldWorld = world
  +        try
  +            let result = World.getEyeMargin2d world
  +            let value = result
  +            let value = ScriptingSystem.tryImport typeof<Vector2> value world |> Option.get
  +            struct (value, world)
  +        with exn ->
  +            let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'getEyeMargin2d' due to: " + scstring exn, None)
  +            struct (violation, World.choose oldWorld)
  +
  +    let setEyeSize2d value world =
  +        let oldWorld = world
  +        try
  +            let value =
  +                match ScriptingSystem.tryExport typeof<Vector2> value world with
  +                | Some value -> value :?> Vector2
  +                | None -> failwith "Invalid argument type for 'value'; expecting a value convertable to Vector2."
  +            let result = World.setEyeSize2d value world
  +            struct (Scripting.Unit, result)
  +        with exn ->
  +            let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'setEyeSize2d' due to: " + scstring exn, None)
  +            struct (violation, World.choose oldWorld)
  +
  +    let getEyeBounds2d world =
  +        let oldWorld = world
  +        try
  +            let result = World.getEyeBounds2d world
  +            let value = result
  +            let value = ScriptingSystem.tryImport typeof<Box2> value world |> Option.get
  +            struct (value, world)
  +        with exn ->
  +            let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'getEyeBounds2d' due to: " + scstring exn, None)
  +            struct (violation, World.choose oldWorld)
  +
       let getEyePosition3d world =
           let oldWorld = world
           try
  
positive.code:             struct (Scripting.Unit, result)
          with exn ->
              let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'setEyeProjection3d' due to: " + scstring exn, None)
              struct (violation, World.choose oldWorld)
  
      let getEyePosition2d world =
          let oldWorld = world
          try
              let result = World.getEyePosition2d world
              let value = result
              let value = ScriptingSystem.tryImport typeof<Vector2> value world |> Option.get
              struct (value, world)
          with exn ->
              let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'getEyePosition2d' due to: " + scstring exn, None)
              struct (violation, World.choose oldWorld)
  
      let setEyePosition2d value world =
          let oldWorld = world
          try
              let value =
                  match ScriptingSystem.tryExport typeof<Vector2> value world with
                  | Some value -> value :?> Vector2
                  | None -> failwith "Invalid argument type for 'value'; expecting a value convertable to Vector2."
              let result = World.setEyePosition2d value world
              struct (Scripting.Unit, result)
          with exn ->
              let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'setEyePosition2d' due to: " + scstring exn, None)
              struct (violation, World.choose oldWorld)
  
      let getEyeSize2d world =
          let oldWorld = world
          try
              let result = World.getEyeSize2d world
              let value = result
              let value = ScriptingSystem.tryImport typeof<Vector2> value world |> Option.get
              struct (value, world)
          with exn ->
              let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'getEyeSize2d' due to: " + scstring exn, None)
              struct (violation, World.choose oldWorld)
  
      let getEyeMargin2d world =
          let oldWorld = world
          try
              let result = World.getEyeMargin2d world
              let value = result
              let value = ScriptingSystem.tryImport typeof<Vector2> value world |> Option.get
              struct (value, world)
          with exn ->
              let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'getEyeMargin2d' due to: " + scstring exn, None)
              struct (violation, World.choose oldWorld)
  
      let setEyeSize2d value world =
          let oldWorld = world
          try
              let value =
                  match ScriptingSystem.tryExport typeof<Vector2> value world with
                  | Some value -> value :?> Vector2
                  | None -> failwith "Invalid argument type for 'value'; expecting a value convertable to Vector2."
              let result = World.setEyeSize2d value world
              struct (Scripting.Unit, result)
          with exn ->
              let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'setEyeSize2d' due to: " + scstring exn, None)
              struct (violation, World.choose oldWorld)
  
      let getEyeBounds2d world =
          let oldWorld = world
          try
              let result = World.getEyeBounds2d world
              let value = result
              let value = ScriptingSystem.tryImport typeof<Box2> value world |> Option.get
              struct (value, world)
          with exn ->
              let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'getEyeBounds2d' due to: " + scstring exn, None)
              struct (violation, World.choose oldWorld)
  
      let getOmniScreenOpt world =
  
negative.code:         "writeGroupToFile readGroupFromFile getEntitiesFlattened getEntities " +
          "getEntitiesSovereign destroyEntity destroyEntities tryPickEntity " +
          "writeEntityToFile readEntityFromFile createEntity renameEntity " +
          "trySetEntityOverlayNameOpt trySetEntityFacetNames getEyePosition2d setEyePosition2d " +
          "getEyeSize2d getEyeMargin2d setEyeSize2d getEyeBounds2d " +
          "getEyePosition3d setEyePosition3d getEyeRotation3d setEyeRotation3d " +
          "getEyeProjection3d setEyeProjection3d getOmniScreenOpt setOmniScreenOpt " +
          "getOmniScreen setOmniScreen getSelectedScreenOpt constrainEyeBounds2d " +
          "getSelectedScreen setSelectedScreen getViewBoundsRelative2d getViewBoundsAbsolute2d " +
          "getViewBounds2d isBoundsInView2d mouseToScreen2d mouseToWorld2d " +
  