Since Invoke-Interpreter calls many interpreters that are not PowerShell, it would help to have a "lingua franca" to send complex objects. Luckily, there is JSON. If the interpreter is not a `[ScriptBlock]`, and the argument is not a `[string]`, it should be converted into JSON.