anchor.diff:                  struct (violation, world)
           | Some violation -> struct (violation, world)
   
  -    let evalGetEntityRootsBinding 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
  -            | [|group|] -> getEntityRoots group 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 evalGetEntitySovereignsBinding 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
  -            | [|group|] -> getEntitySovereigns group world
  +    let evalGetEntitiesSovereignBinding 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
  +            | [|group|] -> getEntitiesSovereign group world
               | _ ->
                   let violation = Scripting.Violation (["InvalidBindingInvocation"], "Incorrect number of arguments for binding '" + fnName + "' at:\n" + SymbolOrigin.tryPrint originOpt, None)
                   struct (violation, world)
  
positive.code:     let [<Literal>] BindingKeywords =
          "v2 v4 v2i v4i color get getAsStream set setAsStream update streamEvent stream bind self parent grandparent game toData monitor " +
          "resolve relate selectScreen tryGetIsSelectedScreenIdling tryGetIsSelectedScreenTransitioning " +
          "isSelectedScreenIdling isSelectedScreenTransitioning tryTransitionScreen transitionScreen setScreenSplash " +
          "createDissolveScreenFromGroupFile6 createDissolveScreenFromGroupFile createSplashScreen6 createSplashScreen " +
          "reloadExistingAssets tryReloadAssets getCurrentSongOpt getCurrentSongPosition " +
          "getMasterAudioVolume getMasterSoundVolume getMasterSongVolume setMasterAudioVolume " +
          "setMasterSoundVolume setMasterSongVolume playSong playSong6 " +
          "playSound playSound3 fadeOutSong stopSong " +
          "hintAudioPackageUse hintAudioPackageDisuse reloadAudioAssets hintRenderPackageUse " +
          "hintRenderPackageDisuse reloadRenderAssets bodyExists getBodyContactNormals " +
          "getBodyLinearVelocity getBodyToGroundContactNormals getBodyToGroundContactNormalOpt getBodyToGroundContactTangentOpt " +
          "isBodyOnGround createBody createBodies destroyBody " +
          "destroyBodies createJoint createJoints destroyJoint " +
          "destroyJoints setBodyEnabled setBodyPosition setBodyRotation " +
          "setBodyLinearVelocity applyBodyLinearImpulse setBodyAngularVelocity applyBodyAngularImpulse " +
          "applyBodyForce localizeBodyShape isMouseButtonDown getMousePosition " +
          "isKeyboardKeyDown expandContent destroyImmediate destroy " +
          "getExists isSelected ignorePropertyBindings getEntities0 " +
          "getGroups0 writeGameToFile readGameFromFile getScreens " +
          "setScreenDissolve destroyScreen createScreen createDissolveScreen " +
          "writeScreenToFile readScreenFromFile getGroups createGroup " +
          "destroyGroup destroyGroups writeGroupToFile readGroupFromFile " +
          "getEntities getEntityRoots getEntitySovereigns destroyEntity " +
          "destroyEntities tryPickEntity writeEntityToFile createEntity " +
          "readEntityFromFile renameEntity trySetEntityOverlayNameOpt trySetEntityFacetNames " +
          "getEyeCenter setEyeCenter getEyeSize getEyeMargin " +
          "setEyeSize getEyeBounds getOmniScreenOpt setOmniScreenOpt " +
          "getOmniScreen setOmniScreen getSelectedScreenOpt constrainEyeBounds " +
  
negative.code:             let value = Scripting.Ring (Set.ofSeq (Seq.map (fun value -> let str = scstring value in if Symbol.shouldBeExplicit str then Scripting.String str else Scripting.Keyword str) value))
              struct (value, world)
          with exn ->
              let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'getEntitiesFlattened' due to: " + scstring exn, None)
              struct (violation, World.choose oldWorld)
  
      let getEntities group world =
          let oldWorld = world
          try
              let struct (group, world) =
  