anchor.diff:              let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'readGameFromFile' due to: " + scstring exn, None)
               struct (violation, World.choose oldWorld)
   
  -    let writeScreenToFile filePath screen world =
  -        let oldWorld = world
  -        try
  -            let filePath =
  -                match ScriptingSystem.tryExport typeof<String> filePath world with
  -                | Some value -> value :?> String
  -                | None -> failwith "Invalid argument type for 'filePath'; expecting a value convertable to String."
  -            let struct (screen, world) =
  -                let context = World.getScriptContext world
  -                match World.evalInternal screen world with
  -                | struct (Scripting.String str, world)
  -                | struct (Scripting.Keyword str, world) ->
  -                    let relation = Relation.makeFromString str
  -                    let address = Relation.resolve context.SimulantAddress relation
  -                    struct (Screen address, world)
  -                | struct (Scripting.Violation (_, error, _), _) -> failwith error
  -                | struct (_, _) -> failwith "Relation must be either a String or Keyword."
  -            let result = World.writeScreenToFile filePath screen world
  -            let value = result
  -            let value = ScriptingSystem.tryImport typeof<Void> value world |> Option.get
  -            struct (value, world)
  -        with exn ->
  -            let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'writeScreenToFile' due to: " + scstring exn, None)
  -            struct (violation, World.choose oldWorld)
  -
  -    let readScreenFromFile filePath nameOpt world =
  -        let oldWorld = world
  -        try
  -            let filePath =
  -                match ScriptingSystem.tryExport typeof<String> filePath world with
  -                | Some value -> value :?> String
  -                | None -> failwith "Invalid argument type for 'filePath'; expecting a value convertable to String."
  -            let nameOpt =
  -                match ScriptingSystem.tryExport typeof<FSharpOption<String>> nameOpt world with
  -                | Some value -> value :?> FSharpOption<String>
  -                | None -> failwith "Invalid argument type for 'nameOpt'; expecting a value convertable to FSharpOption`1."
  -            let result = World.readScreenFromFile filePath nameOpt world
  -            let (value, world) = result
  -            let value = let str = scstring value in if Symbol.shouldBeExplicit str then Scripting.String str else Scripting.Keyword str
  -            struct (value, world)
  -        with exn ->
  -            let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'readScreenFromFile' due to: " + scstring exn, None)
  -            struct (violation, World.choose oldWorld)
  -
       let getScreens world =
           let oldWorld = world
           try
  
positive.code:              ("isSimulantSelected", { Fn = evalIsSimulantSelectedBinding; Pars = [|"simulant"|]; DocOpt = None })
               ("writeGameToFile", { Fn = evalWriteGameToFileBinding; Pars = [|"filePath"|]; DocOpt = None })
               ("readGameFromFile", { Fn = evalReadGameFromFileBinding; Pars = [|"filePath"|]; DocOpt = None })
               ("writeScreenToFile", { Fn = evalWriteScreenToFileBinding; Pars = [|"filePath"; "screen"|]; DocOpt = None })
               ("readScreenFromFile", { Fn = evalReadScreenFromFileBinding; Pars = [|"filePath"; "nameOpt"|]; DocOpt = None })
               ("getScreens", { Fn = evalGetScreensBinding; Pars = [||]; DocOpt = None })
               ("setScreenDissolve", { Fn = evalSetScreenDissolveBinding; Pars = [|"dissolveData"; "screen"|]; DocOpt = None })
               ("destroyScreen", { Fn = evalDestroyScreenBinding; Pars = [|"screen"|]; DocOpt = None })
               ("createScreen", { Fn = evalCreateScreenBinding; Pars = [|"dispatcherName"; "nameOpt"|]; DocOpt = None })
               ("createDissolveScreen", { Fn = evalCreateDissolveScreenBinding; Pars = [|"dispatcherName"; "nameOpt"; "dissolveData"|]; DocOpt = None })
               ("getLayers", { Fn = evalGetLayersBinding; Pars = [|"screen"|]; DocOpt = None })
               ("destroyLayer", { Fn = evalDestroyLayerBinding; Pars = [|"layer"|]; DocOpt = None })
               ("destroyLayers", { Fn = evalDestroyLayersBinding; Pars = [|"layers"|]; DocOpt = None })
  
negative.code:         "destroy getSelected tryGetParent getParent " +
          "tryGetGrandparent getGrandparent getChildren getExists " +
          "getEntities0 getLayers0 isSimulantSelected writeGameToFile " +
          "readGameFromFile getScreens setScreenDissolve destroyScreen " +
          "createScreen createDissolveScreen writeScreenToFile readScreenFromFile " +
          "getLayers destroyLayer destroyLayers writeLayerToFile " +
          "readLayerFromFile getEntities destroyEntity destroyEntities " +
          "tryPickEntity writeEntityToFile createEntity readEntityFromFile " +
  