anchor.diff:                  struct (violation, world)
           | Some violation -> struct (violation, world)
   
  +    let evalSetMasterAudioVolumeBinding 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
  +            | [|volume|] -> setMasterAudioVolume volume world
  +            | _ ->
  +                let violation = Scripting.Violation (["InvalidBindingInvocation"], "Incorrect number of arguments for binding '" + fnName + "' at:\n" + SymbolOrigin.tryPrint originOpt, ValueNone)
  +                struct (violation, world)
  +        | Some violation -> struct (violation, world)
  +
  +    let evalSetMasterSoundVolumeBinding 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
  +            | [|volume|] -> setMasterSoundVolume volume world
  +            | _ ->
  +                let violation = Scripting.Violation (["InvalidBindingInvocation"], "Incorrect number of arguments for binding '" + fnName + "' at:\n" + SymbolOrigin.tryPrint originOpt, ValueNone)
  +                struct (violation, world)
  +        | Some violation -> struct (violation, world)
  +
  +    let evalSetMasterSongVolumeBinding 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
  +            | [|volume|] -> setMasterSongVolume volume world
  +            | _ ->
  +                let violation = Scripting.Violation (["InvalidBindingInvocation"], "Incorrect number of arguments for binding '" + fnName + "' at:\n" + SymbolOrigin.tryPrint originOpt, ValueNone)
  +                struct (violation, world)
  +        | Some violation -> struct (violation, world)
  +
  +    let evalPlaySongBinding 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
  +            | [|timeToFadeInSongMs; timeToFadeOutSongMs; volume; start; song|] -> playSong timeToFadeInSongMs timeToFadeOutSongMs volume start song world
  +            | _ ->
  +                let violation = Scripting.Violation (["InvalidBindingInvocation"], "Incorrect number of arguments for binding '" + fnName + "' at:\n" + SymbolOrigin.tryPrint originOpt, ValueNone)
  +                struct (violation, world)
  +        | Some violation -> struct (violation, world)
  +
  +    let evalPlaySong6Binding 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
  +            | [|timeToFadeInSongMs; timeToFadeOutSongMs; volume; start; songPackageName; songAssetName|] -> playSong6 timeToFadeInSongMs timeToFadeOutSongMs volume start songPackageName songAssetName world
  +            | _ ->
  +                let violation = Scripting.Violation (["InvalidBindingInvocation"], "Incorrect number of arguments for binding '" + fnName + "' at:\n" + SymbolOrigin.tryPrint originOpt, ValueNone)
  +                struct (violation, world)
  +        | Some violation -> struct (violation, world)
  +
  +    let evalPlaySoundBinding 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
  +            | [|volume; sound|] -> playSound volume sound world
  +            | _ ->
  +                let violation = Scripting.Violation (["InvalidBindingInvocation"], "Incorrect number of arguments for binding '" + fnName + "' at:\n" + SymbolOrigin.tryPrint originOpt, ValueNone)
  +                struct (violation, world)
  +        | Some violation -> struct (violation, world)
  +
  +    let evalPlaySound3Binding 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
  +            | [|volume; soundPackageName; soundAssetName|] -> playSound3 volume soundPackageName soundAssetName world
  +            | _ ->
  +                let violation = Scripting.Violation (["InvalidBindingInvocation"], "Incorrect number of arguments for binding '" + fnName + "' at:\n" + SymbolOrigin.tryPrint originOpt, ValueNone)
  +                struct (violation, world)
  +        | Some violation -> struct (violation, world)
  +
  +    let evalFadeOutSongBinding 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
  +            | [|timeToFadeOutSongMs|] -> fadeOutSong timeToFadeOutSongMs world
  +            | _ ->
  +                let violation = Scripting.Violation (["InvalidBindingInvocation"], "Incorrect number of arguments for binding '" + fnName + "' at:\n" + SymbolOrigin.tryPrint originOpt, ValueNone)
  +                struct (violation, world)
  +        | Some violation -> struct (violation, world)
  +
  +    let evalStopSongBinding 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
  +            | [||] -> stopSong world
  +            | _ ->
  +                let violation = Scripting.Violation (["InvalidBindingInvocation"], "Incorrect number of arguments for binding '" + fnName + "' at:\n" + SymbolOrigin.tryPrint originOpt, ValueNone)
  +                struct (violation, world)
  +        | Some violation -> struct (violation, world)
  +
  +    let evalHintAudioPackageUseBinding 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
  +            | [|packageName|] -> hintAudioPackageUse packageName world
  +            | _ ->
  +                let violation = Scripting.Violation (["InvalidBindingInvocation"], "Incorrect number of arguments for binding '" + fnName + "' at:\n" + SymbolOrigin.tryPrint originOpt, ValueNone)
  +                struct (violation, world)
  +        | Some violation -> struct (violation, world)
  +
  +    let evalHintAudioPackageDisuseBinding 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
  +            | [|packageName|] -> hintAudioPackageDisuse packageName world
  +            | _ ->
  +                let violation = Scripting.Violation (["InvalidBindingInvocation"], "Incorrect number of arguments for binding '" + fnName + "' at:\n" + SymbolOrigin.tryPrint originOpt, ValueNone)
  +                struct (violation, world)
  +        | Some violation -> struct (violation, world)
  +
  +    let evalReloadAudioAssetsBinding 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
  +            | [||] -> reloadAudioAssets world
  +            | _ ->
  +                let violation = Scripting.Violation (["InvalidBindingInvocation"], "Incorrect number of arguments for binding '" + fnName + "' at:\n" + SymbolOrigin.tryPrint originOpt, ValueNone)
  +                struct (violation, world)
  +        | Some violation -> struct (violation, world)
  +
  +    let evalHintRenderPackageUse2dBinding 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
  +            | [|packageName|] -> hintRenderPackageUse2d packageName world
  +            | _ ->
  +                let violation = Scripting.Violation (["InvalidBindingInvocation"], "Incorrect number of arguments for binding '" + fnName + "' at:\n" + SymbolOrigin.tryPrint originOpt, ValueNone)
  +                struct (violation, world)
  +        | Some violation -> struct (violation, world)
  +
  +    let evalHintRenderPackageDisuse2dBinding 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
  +            | [|packageName|] -> hintRenderPackageDisuse2d packageName world
  +            | _ ->
  +                let violation = Scripting.Violation (["InvalidBindingInvocation"], "Incorrect number of arguments for binding '" + fnName + "' at:\n" + SymbolOrigin.tryPrint originOpt, ValueNone)
  +                struct (violation, world)
  +        | Some violation -> struct (violation, world)
  +
  +    let evalReloadRenderAssets2dBinding 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
  +            | [||] -> reloadRenderAssets2d world
  +            | _ ->
  +                let violation = Scripting.Violation (["InvalidBindingInvocation"], "Incorrect number of arguments for binding '" + fnName + "' at:\n" + SymbolOrigin.tryPrint originOpt, ValueNone)
  +                struct (violation, world)
  +        | Some violation -> struct (violation, world)
  +
       let evalLocalizeBodyShapeBinding fnName exprs originOpt world =
           let struct (evaleds, world) = World.evalManyInternal exprs world
           match Array.tryFind (function Scripting.Violation _ -> true | _ -> false) evaleds with
  
positive.code:              ("setEyeRotation3d", { Fn = evalSetEyeRotation3dBinding; Pars = [|"value"|]; DocOpt = None })
               ("getEyeFrustum3dEnclosed", { Fn = evalGetEyeFrustum3dEnclosedBinding; Pars = [||]; DocOpt = None })
               ("getEyeFrustum3dExposed", { Fn = evalGetEyeFrustum3dExposedBinding; Pars = [||]; DocOpt = None })
               ("getEyeFrustum3dImposter", { Fn = evalgetEyeFrustum3dImposterBinding; Pars = [||]; DocOpt = None })
               ("getLightBox3d", { Fn = evalGetLightBox3dBinding; Pars = [||]; DocOpt = None })
               ("getOmniScreenOpt", { Fn = evalGetOmniScreenOptBinding; Pars = [||]; DocOpt = None })
               ("setOmniScreenOpt", { Fn = evalSetOmniScreenOptBinding; Pars = [|"value"|]; DocOpt = None })
  
negative.code:             let violation = Scripting.Violation (["InvalidBindingInvocation"], "Could not invoke binding 'createSplashScreen' due to: " + scstring exn, ValueNone)
              struct (violation, World.choose oldWorld)
  
      let reloadExistingAssets world =
          let oldWorld = world
          try
              let result = World.reloadExistingAssets 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 'reloadExistingAssets' due to: " + scstring exn, ValueNone)
              struct (violation, World.choose oldWorld)
  
      let tryReloadAssets world =
          let oldWorld = world
          try
  